{
  "cells": [
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {
        "notebookRunGroups": {
          "groupValue": "1"
        }
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "The current version of kabuki is:  0.6.5RC3\n",
            "The current version of HDDM is:  0.9.8RC\n",
            "The current version of arviz is:  0.15.1\n"
          ]
        }
      ],
      "source": [
        "import warnings\n",
        "\n",
        "warnings.filterwarnings(\"ignore\")\n",
        "\n",
        "import pandas as pd\n",
        "import numpy as np\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "import hddm\n",
        "import kabuki\n",
        "import seaborn as sns\n",
        "import arviz as az\n",
        "\n",
        "print(\"The current version of kabuki is: \", kabuki.__version__)\n",
        "print(\"The current version of HDDM is: \", hddm.__version__)\n",
        "print(\"The current version of arviz is: \", az.__version__)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 6,
      "metadata": {
        "notebookRunGroups": {
          "groupValue": "1"
        }
      },
      "outputs": [
        {
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>rt</th>\n",
              "      <th>response</th>\n",
              "      <th>subj_idx</th>\n",
              "      <th>condition</th>\n",
              "      <th>matchness</th>\n",
              "      <th>label</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>0.612</td>\n",
              "      <td>1.0</td>\n",
              "      <td>0</td>\n",
              "      <td>match_self</td>\n",
              "      <td>match</td>\n",
              "      <td>self</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>1.241</td>\n",
              "      <td>1.0</td>\n",
              "      <td>0</td>\n",
              "      <td>match_self</td>\n",
              "      <td>match</td>\n",
              "      <td>self</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>1.400</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0</td>\n",
              "      <td>match_self</td>\n",
              "      <td>match</td>\n",
              "      <td>self</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>0.862</td>\n",
              "      <td>1.0</td>\n",
              "      <td>0</td>\n",
              "      <td>match_self</td>\n",
              "      <td>match</td>\n",
              "      <td>self</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>0.575</td>\n",
              "      <td>1.0</td>\n",
              "      <td>0</td>\n",
              "      <td>match_self</td>\n",
              "      <td>match</td>\n",
              "      <td>self</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "      rt  response  subj_idx   condition matchness label\n",
              "0  0.612       1.0         0  match_self     match  self\n",
              "1  1.241       1.0         0  match_self     match  self\n",
              "2  1.400       0.0         0  match_self     match  self\n",
              "3  0.862       1.0         0  match_self     match  self\n",
              "4  0.575       1.0         0  match_self     match  self"
            ]
          },
          "execution_count": 6,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "# simulated data\n",
        "n_subjects = 1\n",
        "trials_per_level = 200\n",
        "a = 1.5\n",
        "v_self = 1.1\n",
        "v_friend = 1\n",
        "v_other = 1\n",
        "t = 0.4\n",
        "z = 0.5\n",
        "z_match = 0.6\n",
        "z_mismatch = 0.4\n",
        "\n",
        "# only consider the stimulus effect on z\n",
        "df_match_self = {\n",
        "    \"v\": v_self,\n",
        "    \"a\": a,\n",
        "    \"t\": t,\n",
        "    \"sv\": 0,\n",
        "    \"z\": z_match,\n",
        "    \"sz\": 0,\n",
        "    \"st\": 0\n",
        "}\n",
        "df_match_friend = {\"v\": v_friend, \"a\": a, \"t\": t, \"sv\": 0, \"z\": z, \"sz\": 0, \"st\": 0}\n",
        "df_match_other = {\n",
        "    \"v\": v_other,\n",
        "    \"a\": a,\n",
        "    \"t\": t,\n",
        "    \"sv\": 0,\n",
        "    \"z\": z_mismatch,\n",
        "    \"sz\": 0,\n",
        "    \"st\": 0\n",
        "}\n",
        "df_mismatch_self = {\n",
        "    \"v\": v_self,\n",
        "    \"a\": a,\n",
        "    \"t\": t,\n",
        "    \"sv\": 0,\n",
        "    \"z\": (1 - z_match),\n",
        "    \"sz\": 0,\n",
        "    \"st\": 0\n",
        "}\n",
        "df_mismatch_friend = {\n",
        "    \"v\": v_friend,\n",
        "    \"a\": a,\n",
        "    \"t\": t,\n",
        "    \"sv\": 0,\n",
        "    \"z\": z,\n",
        "    \"sz\": 0,\n",
        "    \"st\": 0\n",
        "}\n",
        "df_mismatch_other = {\n",
        "    \"v\": v_other,\n",
        "    \"a\": a,\n",
        "    \"t\": t,\n",
        "    \"sv\": 0,\n",
        "    \"z\": (1 - z_mismatch),\n",
        "    \"sz\": 0,\n",
        "    \"st\": 0\n",
        "}\n",
        "\n",
        "# combine dataframe\n",
        "data, params = hddm.generate.gen_rand_data(\n",
        "    {\n",
        "        \"match_self\": df_match_self,\n",
        "        \"match_friend\": df_match_friend,\n",
        "        \"match_other\": df_match_friend,\n",
        "        \"mismatch_self\": df_mismatch_self,\n",
        "        \"mismatch_friend\": df_mismatch_friend,\n",
        "        \"mismatch_other\": df_mismatch_friend,\n",
        "    },\n",
        "    size=trials_per_level,\n",
        "    subjs=n_subjects,\n",
        ")\n",
        "\n",
        "data[['matchness', 'label']] = data['condition'].str.split('_', expand=True)\n",
        "data.head()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 7,
      "metadata": {},
      "outputs": [
        {
          "data": {
            "image/png": "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VFlZqe+++06FhYUqLCxUaWmpioqKnFUbAACoI+fPn9e8efOUn5+vdevW6eDBg7r//vsv6Ddt2jQ999xz2r59uwICAjR48GCdP39eklRQUKBBgwbp7rvv1q5du7R69Wp98cUXSkxMrOejuXwOPQhx3759GjNmjLZs2WLXbrVaZbFYVF1d7ZTiAABA3fjTn/5k+3799dfr+eef10033aTTp0/rmmuusS1LTk7Wb3/7W0nSihUr1LZtW7333nsaPny45s+fr/vuu882sbpjx456/vnn1b9/f7388svy9PSs12O6HA4FoISEBDVt2lQffvihQkJCeAM8AACNTE5OjlJSUpSfn6/jx4/b7u4uLCxU165dbf3+9yXnrVq1UufOnfXVV19JkvLz87Vr1y69/fbbtj4/3il+4MABhYeH19PRXD6HAlBeXp5ycnLUpUsXZ9cDAADqWEVFheLi4hQXF6e3335bAQEBKiwsVFxc3GW90eH06dMaP368Jk+efMGyX/3qV84s2ekcCkBdu3bleT8AADRSX3/9tY4ePaoFCxYoNDRUkrRjx45a+/7zn/+0hZnjx49r3759tpGdnj17as+ePba7wRsThyZBP/3005o+fboyMzN19OhRlZeX230AAEDD9atf/Uru7u564YUXtH//fn3wwQeaN29erX2feOIJZWRk6Msvv9T9998vf39/DR06VJL06KOPasuWLUpMTFReXp6++eYbvf/++1fvJOjY2FhJ0sCBA+3amQQNAEDDFxAQoOXLl2vmzJl6/vnn1bNnTz377LP6/e9/f0HfBQsWaMqUKfrmm28UGRmpv//973J3d5f0w2NxPv30U82aNUs333yzrFar2rdvr/j4+Po+pMvmUADavHmzs+sAAAB1LDMz0/Z9xIgRGjFihN1yq9Vq+z5gwADb79/97ncX3eZNN92k9PT0iy4/ePCgY8XWMYcCUP/+/Z1dBwAAQL1xKABJ0okTJ/T666/bboXr1q2b/vSnP8nX19dpxQEAANQFhyZB79ixQ+3bt9df//pXHTt2TMeOHdOiRYvUvn175ebmOrtGAAAAp3JoBOjhhx/W73//e6Wlpalp0x82UVVVpbFjx2rq1Kn67LPPnFokAACAMzkUgHbs2GEXfiSpadOmmj59uqKjo51WHAAAQF1w6BKYj4+PCgsLL2g/fPiwvL29r7goAACAuuRQAIqPj9eYMWO0evVqHT58WIcPH9aqVas0duzYC26pAwAAaGgcugT27LPPymKxaNSoUaqqqpIkNWvWTBMmTNCCBQucWiAAAICzORSA3N3dtXjxYs2fP18FBQWSpPbt26tFixZOLQ4AAKAuOPwcIElq0aKFWrZsafsOAAAcFzXtzXrbV84zo+ptXwcPHlS7du20c+dORUZGSpKysrL04IMP6uuvv9add96pdevW1Vs9koNzgKqqqjR79mz5+voqLCxMYWFh8vX11eOPP67z5887u0YAAHCVSUpKUmRkpA4cOKDly5fX+/4dGgGaNGmS1q5dq4ULFyomJkaSlJ2drZSUFB09elQvv/yyU4sEAABXl4KCAj344INq27atS/bv0AjQypUrtXz5co0fP17du3dX9+7dNX78eL3++utauXKls2sEAAANwLvvvquIiAg1b95crVu3VmxsrCoqKiRJr732msLDw+Xp6akuXbropZdeqnUbBw8elMVi0dGjR/WnP/1JFoul8YwAeXh4KCws7IL2du3ayd3d/UprAgAADUxRUZFGjBihhQsX6q677tKpU6f0+eefy2q16u2339acOXP04osvqkePHtq5c6fGjRsnLy8vjR492m47oaGhKioqUufOnfXEE08oPj7eJe8RdSgAJSYmat68eXrjjTfk4eEhSTp37pz+8pe/KDEx0akFAgAA1ysqKlJVVZWGDRum6667TpIUEREhSUpOTtZzzz2nYcOGSfphQGTPnj165ZVXLghAbm5uCg4OlsVika+vr4KDg+v3QP6PQwFo586dysjIUNu2bXXjjTdKkvLz81VZWamBAwfa/gCStHbtWudUCgAAXObGG2/UwIEDFRERobi4ON122236wx/+IHd3dxUUFGjMmDEaN26crX9VVZVLRnYulUMBqGXLlrr77rvt2kJDQ51SEAAAaHjc3Nz08ccfa8uWLUpPT9cLL7ygWbNm6e9//7skKS0tTb17975gnYbKoQD0xhtvOLsOAADQwFksFvXt21d9+/bVnDlzdN111ykrK0vXXnut9u/fr/vuu8/VJV4yhwLQ2bNnZbVabQ8/PHTokN577z117dpVt912m1MLBAAArrd161ZlZGTotttuU2BgoLZu3aqysjKFh4dr7ty5mjx5snx9fTVo0CCdO3dOO3bs0PHjx5WUlOTq0mvlUAAa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oIMHD2rw4MG2th8fk920aVPt3btX7du3t1vHw8NDHh4edVA9AABorFw6AuTu7q6oqChlZGTY2mpqapSRkaGYmJgL+nfp0kW7d+9WXl6e7fP73/9et9xyi/Ly8ri8BQAALonLnwSdlJSk0aNHKzo6Wr169VJqaqoqKiqUkJAgSRo1apTatGmj+fPny9PTUzfccIPd+j++Cfan7QAAABfj8gAUHx+vsrIyzZkzR8XFxYqMjNTGjRttE6MLCwvVpEmjmqoEAAD+z4ABAxQZGanU1FRXl2LH5QFIkhITE5WYmFjrsszMzJ9dd/ny5c4vCAAAF+j7Qt9625ezX/WRmZmpW265RcePH7ddnWnIGFoBAACNSmVl5RVvgwAEAAAuyblz5zR58mQFBgbK09NT/fr10/bt23Xw4EHdcsstkiQ/Pz9ZLBbdf//9tvVqamo0ffp0tWrVSsHBwUpJSbHb7okTJzR27FgFBATIx8dHt956q/Lz823LU1JSFBkZqddee03t2rWTp6fnFR8LAQgAAFyS6dOna82aNVqxYoVyc3PVoUMHxcXFydvbW2vWrJEk7d27V0VFRVq8eLFtvRUrVsjLy0tbt27VwoUL9cQTT+jjjz+2Lb/nnntUWlqqDRs2KCcnRz179tTAgQN17NgxW59vv/1Wa9as0dq1a5WXl3fFx9Ig5gABAICGraKiQi+//LKWL1+u22+/XZKUlpamjz/+WMuWLdNNN90kSQoMDLxgDlD37t2VnJwsSerYsaNefPFFZWRk6Le//a2++OILbdu2TaWlpbbn9j377LNat26d3n33XT3wwAOSfrjs9eabbyogIMApx0MAAgAAv6igoEDnz59X377/najdrFkz9erVS1999ZUtANWme/fudr9DQkJUWloqScrPz9fp06fVunVruz5nz55VQUGB7fd1113ntPAjEYAAAEAda9asmd1vi8Vie5PD6dOnFRISUutd3/87kuTl5eXUmghAAADgF7Vv317u7u7KysrSddddJ0k6f/68tm/frqlTp8rd3V2SVF1dfVnb7dmzp4qLi9W0aVOFhYU5u+yLYhI0AAD4RV5eXpowYYKmTZumjRs3as+ePRo3bpzOnDmjMWPG6LrrrpPFYtGHH36osrIynT59+pK2Gxsbq5iYGA0dOlTp6ek6ePCgtmzZolmzZmnHjh11djyMAAEA0EA4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",
            "text/plain": [
              "<Figure size 590.75x500 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkwAAAHqCAYAAAD2yRGtAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAxVElEQVR4nO3de1RVdf7/8dfhfr8pAhp1vIumglAurBmd4ptOjT/JvmnWqPFVy8LSmKwsE635hjXl0ibNskzrN/20q/n1XoxMDTKSGGZT3vCCGTc1rioonN8ffjt1Ev0oAgfk+ViLtc7ZZ++z34c1x56z9z4Hi81mswkAAADn5eLsAQAAAFo6ggkAAMCAYAIAADAgmAAAAAwIJgAAAAOCCQAAwIBgAgAAMCCYAAAADNpcMNlsNpWXl4vv6wQAABerzQVTRUWFAgMDVVFR4exRAABAK9HmggkAAOBSEUwAAAAGBBMAAIABwQQAAGBAMAEAABgQTAAAAAYEEwAAgAHBBAAAYEAwAQAAGBBMAAAABgQTAACAAcEEAABg4NRg+vzzzzV8+HB17NhRFotFq1atMm6TkZGhAQMGyNPTU926ddOyZcuafE4AANC2OTWYqqqq1L9/fy1cuPCi1j9w4IBuu+02/e53v1Nubq6mTZumiRMnauPGjU08KQAAaMssNpvN5uwhJMlisejjjz9WYmLiedd5/PHHtXbtWn3zzTf2ZXfddZdKS0u1YcOGi9pPeXm5AgMDVVZWpoCAgMsdGwAAtAGt6hqmrKwsJSQkOCwbOnSosrKynDQRAABoC9ycPcClKCwsVFhYmMOysLAwlZeX6+TJk/L29j5nm+rqalVXV9vvl5eXN/mcAADgytKqgqkh0tLSNGfOHGePgRZg6tSpKikpkSSFhoZqwYIFTp4IANBatKpTcuHh4SoqKnJYVlRUpICAgHqPLknSjBkzVFZWZv85fPhwc4yKFqikpERFRUUqKiqyhxMAABejVR1hio+P17p16xyWffrpp4qPjz/vNp6envL09Gzq0QAAwBXMqUeYKisrlZubq9zcXElnvzYgNzdX+fn5ks4eHRo3bpx9/cmTJ2v//v167LHHtGvXLi1atEjvvfeeHnnkEWeMDwAA2ginBtO2bdsUExOjmJgYSVJKSopiYmI0a9YsSVJBQYE9niSpc+fOWrt2rT799FP1799fL730kt544w0NHTrUKfMDAIC2wamn5IYMGaILfQ1Ufd/iPWTIEH311VdNOBUAAICjVnXRNwAAgDMQTAAAAAYEEwAAgAHBBAAAYEAwAQAAGBBMAAAABgQTAACAAcEEAABgQDABAAAYEEwAAAAGBBMAAIABwQQAAGBAMAEAABgQTAAAAAZuzh4AgHNMnTpVJSUlkqTQ0FAtWLDAyRMBQMtFMAFtVElJiYqKipw9BgC0CgQTAFxBOHIINA2CCQCuIBw5xIUQ1A1HMAEA0EYQ1A3Hp+QAAAAMOMKEZpP/TF+n7v9MaTtJrv97+wenz3P1rJ1O3T8A4OJxhAkAAMCAYAIAADAgmAAAAAy4hgkAcMXiY/RoLAQTAOCKxcfo0Vg4JQcAAGBAMAEAABgQTAAAAAYEEwAAgAHBBAAAYEAwAQAAGBBMAAAABgQTAACAAcEEAABgQDABAAAYEEwAAAAGBBMAAIABf3wXABpR7PS3nbr/gB8r7f9PuODHSqfPk/OXcU7dP9BYCCbASW746w1O3b9nuacsskiSCssLnT5P5kOZTt0/AFwIp+QAAAAMOMIEAEAzcfaRXI4sNxxHmAAAAAwIJgAAAANOyaHNCPGsrfc2AAAmBBPajCdjSp09AgCglSKYAABNJv+Zvk7d/5nSdpJc//f2D06fR8EBzt0/GoxrmAAAAAwIJgAAAAOCCQAAwIBgAgAAMCCYAAAADAgmAAAAA4IJAADAgGACAAAwIJgAAAAMCCYAAAAD/jQKAFxB6tx9670N4PIQTABwBans+XtnjwBckTglBwAAYEAwAQAAGBBMAAAABlzDdAWbOnWqSkpKJEmhoaFasGCBkydCS2LzttV7GwBwLoLpClZSUqKioiJnj4EWqua3Nc4eAQBaDYIJAIA2giPLDUcwAQDQRnBkueEIJgDAFSvEs7be28ClIpgAAFesJ2NKnT0CrhB8rQAAAIABwQQAAGBAMAEAABg4PZgWLlwoq9UqLy8vDRw4UNnZ2Rdcf/78+erZs6e8vb0VGRmpRx55RKdOnWqmaQEAQFvk1GBauXKlUlJSlJqaqu3bt6t///4aOnSoiouL613/3Xff1RNPPKHU1FR99913evPNN7Vy5Uo9+eSTzTw5AABoS5waTPPmzdOkSZOUlJSk3r17a/HixfLx8dHSpUvrXX/Lli264YYbdPfdd8tqteqWW27RmDFjjEelAAAALofTgqmmpkY5OTlKSEj4eRgXFyUkJCgrK6vebQYNGqScnBx7IO3fv1/r1q3Trbfe2iwzAwCAtslp38N09OhR1dbWKiwszGF5WFiYdu3aVe82d999t44ePaobb7xRNptNZ86c0eTJky94Sq66ulrV1dX2++Xl5Y3zAgAAQJvh9Iu+L0VGRoaee+45LVq0SNu3b9dHH32ktWvX6tlnnz3vNmlpaQoMDLT/REZGNuPEAADgSuC0I0zt27eXq6urioqKHJYXFRUpPDy83m2efvppjR07VhMnTpQk9e3bV1VVVbrvvvv01FNPycXl3P6bMWOGUlJS7PfLy8uJJgAAcEmcdoTJw8NDsbGxSk9Pty+rq6tTenq64uPj693mxIkT50SRq6urJMlmq/+vLnt6eiogIMDhBwAA4FI49W/JpaSkaPz48YqLi9P111+v+fPnq6qqSklJSZKkcePGqVOnTkpLS5MkDR8+XPPmzVNMTIwGDhyoffv26emnn9bw4cPt4QQAANDYnBpMo0ePVklJiWbNmqXCwkJFR0drw4YN9gvB8/PzHY4ozZw5UxaLRTNnztSRI0cUGhqq4cOH67//+7+d9RIAAEAb4NRgkqQpU6ZoypQp9T6WkZHhcN/NzU2pqalKTU1thskAAADOalWfkgMAAHAGggkAAMDA6afkrmSx09926v4Dfqy0F3HBj5VOn+djf6fuHgCABuMIEwAAgAHBBAAAYEAwAQAAGBBMAAAABgQTAACAAcEEAABgQDABAAAYEEwAAAAGBBMAAIABwQQAAGBAMAEAABgQTAAAAAYEEwAAgAHBBAAAYEAwAQAAGBBMAAAABgQTAACAAcEEAABgQDABAAAYuDl7ADSdOnffem8DAIBLQzBdwSp7/t7ZIwAAcEXglBwAAIABwQQAAGBAMAEAABgQTAAAAAYEEwAAgAHBBAAAYEAwAQAAGBBMAAAABgQTAACAAcEEAABgQDABAAAYEEwAAAAGBBMAAIABwQQAAGBAMAEAABgQTAAAAAYEEwAAgAHBBAAAYEAwAQAAGBBMAAAABgQTAACAAcEEAABgQDABAAAYEEwAAAAGBBMAAIABwQQAAGBAMAEAABgQTAAAAAYEEwAAgAHBBAAAYEAwAQAAGBBMAAAABgQTAACAAcEEAABgQDABAAAYEEwAAAAGBBMAAIABwQQAAGBAMAEAABgQTAAAAAYEEwAAgAHBBAAAYEAwAQAAGBBMAAAABgQTAACAAcEEAABgQDABAAAYOD2YFi5cKKvVKi8vLw0cOFDZ2dkXXL+0tFTJycmKiIiQp6enevTooXXr1jXTtAAAoC1yc+bOV65cqZSUFC1evFgDBw7U/PnzNXToUO3evVsdOnQ4Z/2amhr9x3/8hzp06KAPPvhAnTp10qFDhxQUFNT8wwMAgDbDqcE0b948TZo0SUlJSZKkxYsXa+3atVq6dKmeeOKJc9ZfunSpjh8/ri1btsjd3V2SZLVam3NkAADQBjntlFxNTY1ycnKUkJDw8zAuLkpISFBWVla926xevVrx8fFKTk5WWFiYrr32Wj333HOqra09736qq6tVXl7u8AMAAHApnBZMR48eVW1trcLCwhyWh4WFqbCwsN5t9u/frw8++EC1tbVat26dnn76ab300kv685//fN79pKWlKTAw0P4TGRnZqK8DAABc+Zx+0felqKurU4cOHfT6668rNjZWo0eP1lNPPaXFixefd5sZM2aorKzM/nP48OFmnBgAAFwJnHYNU/v27eXq6qqioiKH5UVFRQoPD693m4iICLm7u8vV1dW+LCoqSoWFhaqpqZGHh8c523h6esrT07NxhwcAAG2K044weXh4KDY2Vunp6fZldXV1Sk9PV3x8fL3b3HDDDdq3b5/q6ursy/bs2aOIiIh6YwkAAKAxOPWUXEpKipYsWaLly5fru+++0wMPPKCqqir7p+bGjRunGTNm2Nd/4IEHdPz4cU2dOlV79uzR2rVr9dxzzyk5OdlZLwEAALQBTv1agdGjR6ukpESzZs1SYWGhoqOjtWHDBvuF4Pn5+XJx+bnpIiMjtXHjRj3yyCPq16+fOnXqpKlTp+rxxx931ksAAABtgFODSZKmTJmiKVOm1PtYRkbGOcvi4+P1r3/9q4mnAgAA+Fmr+pQcAACAMxBMAAAABgQTAACAAcEEAABgQDABAAAYEEwAAAAGBBMAAIABwQQAAGBAMAEAABgQTAAAoF7fvPyNDnx44KLWLdtbpi0Pb9GZE2cua59Wq1Xz58+/rOdoCgQTAACAAcEEAABg4PQ/vgsAAFq+4uxiFfyjQCeLT8rVw1WBPQJlHWmVh7+Hw3rlB8qV/z/5Oll8Ur6dfNV1TFf5dvT9+fG8ch36n0OqOlylyBcidfvttystLU2+vr6/3mWLwhEmAABgZKu16erbrlb049HqNbGXqo9Va9/f9p2z3qFVh2RNtKrfo/3k7ueuXa/vUl1tnSTpVMkpffvqt2rXv536P95fK1eu1D//+U9NmTKluV/OJSOYAACAUVh8mIJ7B8urvZf8O/ur8392Vum3paqtrnVYL/L3kQrqFSTfjr7q9sduOl1xWsd3HJckff/p9wqNC1XH33WUdwdvDRo0SC+//LLefvttnTp1yhkv66JxSg4AABhV5lfq8PrDqvqh6uwn4Wxnl1cfr5ZPhI99PX+rv/22u6+7vDt462TRSUlS1Q9VOnHkhEq2lUiS/Gb4yWazqa6uTgcOHFBUVFTzvaBLRDABAIALqq2u1bevfqugXkHqMa6H3PzcVHO8Rt+++q1stbaLfp666jqF3RCmiMERkqT3xr1nf+zqq69u9LkbE8EEAAAu6GTRSZ2pOqNr/s818gz2lCRV5VfVu27FwQp5hpxd58yJMzpZclLeYd6SJN+rfHWy8KS8Q8/e79atWzNM3zi4hgkAAFyQZ7CnLK4WFXxeoFNHT+n4zuM6vPFwvese3nhYpbtLVfVDlfb+371y83VTSL8QSVKnhE6qOFCh/e/vV9X3Vdq7d68++eSTVnHRN0eYAADABbn7u6vbH7sp/3/yVfCPAvld5SfrCKt2Ldl1zrrXDL9GBz46oFPFp+R7la+i7ouSi9vZ4zO+nXzV5+E+yl+Tr50LdipmYYy6du2q0aNHN/dLumQEEwAAqNe1D19rvx0aG6rQ2FCHxwe9PMh+O7B7oP1+yLUh531O/2v81Se5jyQp86HMcx4/ePDg5YzcZDglBwAAYEAwAQAAGDQomLp06aJjx46ds7y0tFRdunS57KEAAABakgYF08GDB1VbW3vO8urqah05cuSyhwIAAGhJLumi79WrV9tvb9y4UYGBgfb7tbW1Sk9Pl9VqbbThAAAAWoJLCqbExERJksVi0fjx4x0ec3d3l9Vq1UsvvdRowwEAALQElxRMdXV1qqmpkZeXl7Zu3arrrruuqeYCAABoMS75GiYPDw+1a9dOQUFBTTAOAABAy9Ogi77/+Mc/6s0332zsWQAAAFqkBn3T95kzZ7R06VJ99tlnio2Nla+vr8Pj8+bNa5ThAABA23Pw4EF17txZX331laKjoyVJmZmZmjx5snbt2qXbbrtNq1atataZGhRM33zzjQYMGCBJ2rNnj8NjFovl8qcCAABGp/Lvb7Z9eV39WrPtqz4pKSmKjo7W+vXr5efn1+z7b1Awbd68ubHnAAAAOK+8vDxNnjxZV111lVP2z59GAQAATeLoV0eVm5arf/3pX8p+Ilv/fuXfqq0++8XXRVuKFBUVJS8vL/Xq1UuLFi2q9zkOHjwoi8WiY8eO6b/+679ksVi0bNmyZnwVZzXoCBMAAMCF1JTVaO/yvbpmxDUK6Rei2upaleeVS5JKvixR/rp8rXhrhWJiYvTVV19p0qRJ8vX1Ped7HiMjI1VQUKCePXvqmWee0ejRox2+OLu5EEwAAKDR1ZTXyFZnU0j/EHmFeEmSfDue/ZDY4fWHZb3dqpEjR0qSOnfurG+//VavvfbaOcHk6uqq8PBwWSwWBQYGKjw8vHlfyP8imAAAQKPz7eSrwB6B2pG2Q0FRQQrqFaR20e1kcbXo1NFTyns3T34f/Hzx9pkzZ5xy5OhiEUwAAKDRWVws6p3cWxUHKlS6q1QFnxfo0JpDirovSpLU9a6uWjdrncM2rq6uzhj1ohBMAACgSVgsFgV0CVBAlwBFDotUTmqOKvZXyCPQQ6eOnVK3bt2cPeJFI5gAAECjqzhYobI9ZQrqFSR3P3dVHKrQ6crT8g73VuTvI3XgwwN6+eWXNWzYMFVXV2vbtm368ccflZKS4uzR60UwAQCARufq5aryfeX6IeMH1Z6qlWeIp6y3WxXcO1iS5OLhorfeekvTp0+Xr6+v+vbtq2nTpjl36AsgmAAAaKWc/e3bF+IT7qPeD/Y+7+OhcaHKXJ5Z72NWq1U2m81hWWlpaWOOd8n44koAAAADggkAAMCAYAIAADAgmAAAAAwIJgAAAAOCCQAAwIBgAgAAMCCYAAAADAgmAADQJGw2m/JW5Cn7iWxteXiLqr6vqnc9i8WiVatWNfk8VqtV8+fPb9C2fNM3AABoEqXflap4a7H6PNRHXu295O7rXu96BQUFCg4ObubpLg3BBABAK/X/fixvtn2NCQ645G1OHT0l9wB3BXSpf9uamhp5eHgoPDz8csdrcpySAwAAjW7v/92rAx8cUM2PNdry8BblzM7RNy9/o/3v79eBDw8oe0a2hg4dKuncU3KHDx/WqFGjFBQUpJCQEI0YMUIHDx60P37vvfcqMTFRL774oiIiItSuXTslJyfr9OnT9nWKi4s1fPhweXt7q3Pnzvrb3/52Wa+HYAIAAI2u8x2dFXlrpDyCPBT35zj1+1M/SVJxdrEsbhb1ndZXixcvPme706dPa+jQofL399cXX3yhzMxM+fn5adiwYaqpqbGvt3nzZuXl5Wnz5s1avny5li1bpmXLltkfv/fee3X48GFt3rxZH3zwgRYtWqTi4uIGvx5OyQEAgEbn5u0mV09XWVws8gjwsC/3DvWWdYRVktSzZ89ztlu5cqXq6ur0xhtvyGKxSJLeeustBQUFKSMjQ7fccoskKTg4WK+88opcXV3Vq1cv3XbbbUpPT9ekSZO0Z88erV+/XtnZ2bruuuskSW+++aaioqIa/noavCUAAMAl8o30veDjO3bs0L59++Tv7++w/NSpU8rLy7Pf79Onj1xdXe33IyIitHPnTknSd999Jzc3N8XGxtof79Wrl4KCgho8N8EEAACajauH6wUfr6ysVGxsbL3XHIWGhtpvu7s7fuLOYrGorq6ucYasB8EEAABajAEDBmjlypXq0KGDAgIu/ZN50tmjSWfOnFFOTo79lNzu3btVWlra4Lm46BsAALQY99xzj9q3b68RI0boiy++0IEDB5SRkaGHH35Y33///UU9R8+ePTVs2DDdf//92rp1q3JycjRx4kR5e3s3eC6CCQAAtBg+Pj76/PPPdfXVV2vkyJGKiorShAkTdOrUqUs64vTWW2+pY8eOGjx4sEaOHKn77rtPHTp0aPBcFpvNZmvw1q1QeXm5AgMDVVZW1uBDfRcrdvrbTfr8rc3H/n9x9ggtSkO+BO5KlvlQprNHaBS87x3xvnfE+95Ra3rfc4QJAADAgGACAAAwIJgAAAAMCCYAAAADggkAAMCAYAIAADAgmAAAAAwIJgAAAAOCCQAAwKBFBNPChQtltVrl5eWlgQMHKjs7+6K2W7FihSwWixITE5t2QAAA0CyGDBmiadOmOXuMczg9mFauXKmUlBSlpqZq+/bt6t+/v4YOHari4uILbnfw4EE9+uij+s1vftNMkwIAgMZStrdMFotFpaWlzh7lojg9mObNm6dJkyYpKSlJvXv31uLFi+Xj46OlS5eed5va2lrdc889mjNnjrp06dKM0wIAgNampqbmsp/DqcFUU1OjnJwcJSQk2Je5uLgoISFBWVlZ593umWeeUYcOHTRhwgTjPqqrq1VeXu7wAwAAml7d6Trt/2C/sp/MVlZKlnbO36mKQxU6deyU/v3Xf0uSgoODZbFYdO+99/68XV2dHnvsMYWEhCg8PFyzZ892eN7S0lJNnDhRoaGhCggI0E033aQdO3bYH589e7aio6P1xhtvqHPnzvLy8rrs1+LUYDp69Khqa2sVFhbmsDwsLEyFhYX1bvPPf/5Tb775ppYsWXJR+0hLS1NgYKD9JzIy8rLnBgAAZodWH9LxHcfV/Y/d1X96f3m199J3r34nVy9X9ZzQU5K0e/duFRQUaMGCBfbtli9fLl9fX23dulUvvPCCnnnmGX366af2x++8804VFxdr/fr1ysnJ0YABA3TzzTfr+PHj9nX27dunDz/8UB999JFyc3Mv+7U4/ZTcpaioqNDYsWO1ZMkStW/f/qK2mTFjhsrKyuw/hw8fbuIpAQBAbXWtCv9ZqGtGXKPg3sHyifBR1zFd5eLuouJ/FcvNx02S1KFDB4WHhyswMNC+bb9+/ZSamqru3btr3LhxiouLU3p6uqSzB06ys7P1/vvvKy4uTt27d9eLL76ooKAgffDBB/bnqKmp0dtvv62YmBj169fvsl+P22U/w2Vo3769XF1dVVRU5LC8qKhI4eHh56yfl5engwcPavjw4fZldXV1kiQ3Nzft3r1bXbt2ddjG09NTnp6eTTA9AAA4n1NHT8lWa5N/F3/7MhdXF/ld46eThSfld7Xfebf9deBERETYPwy2Y8cOVVZWql27dg7rnDx5Unl5efb711xzjUJDQxvjpUhycjB5eHgoNjZW6enp9q8GqKurU3p6uqZMmXLO+r169dLOnTsdls2cOVMVFRVasGABp9sAALgCuLu7O9y3WCz2AySVlZWKiIhQRkbGOdsFBQXZb/v6+jbqTE4NJklKSUnR+PHjFRcXp+uvv17z589XVVWVkpKSJEnjxo1Tp06dlJaWJi8vL1177bUO2//0y/n1cgAA4Dxe7b1kcbWoYn+FvELOXnRdV1unykOVihgSIYurRdLZT75figEDBqiwsFBubm6yWq2NPfZ5OT2YRo8erZKSEs2aNUuFhYWKjo7Whg0b7BeC5+fny8WlVV1qBQBAm+fq6arwG8N16JNDcvNxk2ewp46kH1Hd6TqFxYeptqZWFotFa9as0a233ipvb2/5+Z3/NN1PEhISFB8fr8TERL3wwgvq0aOHfvjhB61du1a333674uLimuT1OD2YJGnKlCn1noKTVO8ht19atmxZ4w8EAAAu2zX/5xrZbDbtfWevaqtr5Xe1n6IeiJKbj5vcfNw0Z84cPfHEE0pKStK4ceMu6r/pFotF69at01NPPaWkpCSVlJQoPDxcv/3tb8/51H1jsthsNluTPXsLVF5ersDAQJWVlSkgIKBJ9xU7/e0mff7W5mP/vzh7hBZlTHDT/u+vtcl8KNPZIzQK3veOeN874n3vqDW97znXBQAAYEAwAQAAGBBMAAAABgQTAACAAcEEAABgQDABAAAYEEwAAAAGBBMAAIABwQQAAGBAMAEAABgQTAAAAAYEEwAAgAHBBAAAYEAwAQAAGBBMAAAABgQTAACAAcEEAABgQDABAAAYEEwAAAAGBBMAAIABwQQAAGBAMAEAABgQTAAAAAYEEwAAgAHBBAAAYEAwAQAAGBBMAAAABgQTAACAAcEEAABgQDABAAAYEEwAAAAGBBMAAIABwQQAAGBAMAEAABgQTAAAAAYEEwAAgAHBBAAAYEAwAQAAGBBMAAAABgQTAACAAcEEAABgQDABAAAYEEwAAAAGBBMAAIABwQQAAGBAMAEAABgQTAAAAAYEEwAAgAHBBAAAYEAwAQAAGBBMAAAABgQTAACAAcEEAABgQDABAAAYEEwAAAAGBBMAAIABwQQAAGBAMAEAABgQTAAAAAYEEwAAgAHBBAAAYEAwAQAAGBBMAAAABgQTAACAAcEEAABgQDABAAAYEEwAAAAGBBMAAIABwQQAAGDQIoJp4cKFslqt8vLy0sCBA5WdnX3edZcsWaLf/OY3Cg4OVnBwsBISEi64PgAAwOVyejCtXLlSKSkpSk1N1fbt29W/f38NHTpUxcXF9a6fkZGhMWPGaPPmzcrKylJkZKRuueUWHTlypJknBwAAbYXTg2nevHmaNGmSkpKS1Lt3by1evFg+Pj5aunRpvev/7W9/04MPPqjo6Gj16tVLb7zxhurq6pSent7MkwMAgLbCqcFUU1OjnJwcJSQk2Je5uLgoISFBWVlZF/UcJ06c0OnTpxUSEtJUYwIAgDbOzZk7P3r0qGpraxUWFuawPCwsTLt27bqo53j88cfVsWNHh+j6perqalVXV9vvl5eXN3xgAADQJjn9lNzlmDt3rlasWKGPP/5YXl5e9a6TlpamwMBA+09kZGQzTwkAAFo7pwZT+/bt5erqqqKiIoflRUVFCg8Pv+C2L774oubOnatNmzapX79+511vxowZKisrs/8cPny4UWYHAABth1ODycPDQ7GxsQ4XbP90AXd8fPx5t3vhhRf07LPPasOGDYqLi7vgPjw9PRUQEODwAwAAcCmceg2TJKWkpGj8+PGKi4vT9ddfr/nz56uqqkpJSUmSpHHjxqlTp05KS0uTJD3//POaNWuW3n33XVmtVhUWFkqS/Pz85Ofn57TXAQAArlxOD6bRo0erpKREs2bNUmFhoaKjo7Vhwwb7heD5+flycfn5QNirr76qmpoa/ed//qfD86Smpmr27NnNOToAAGgjnB5MkjRlyhRNmTKl3scyMjIc7h88eLDpBwIAAPiFVv0pOQAAgOZAMAEAABgQTAAAAAYEEwAAgAHBBAAAYEAwAQAAGBBMAAAABgQTAACAAcEEAABgQDABAAAYEEwAAAAGBBMAAIABwQQAAGBAMAEAABgQTAAAAAYEEwAAgAHBBAAAYEAwAQAAGBBMAAAABgQTAACAAcEEAABgQDABAAAYEEwAAAAGBBMAAIABwQQAAGBAMAEAABgQTAAAAAYEEwAAgAHBBAAAYEAwAQAAGBBMAAAABgQTAACAAcEEAABgQDABAAAYEEwAAAAGBBMAAIABwQQAAGBAMAEAABgQTAAAAAYEEwAAgAHBBAAAYEAwAQAAGBBMAAAABgQTAACAAcEEAABgQDABAAAYEEwAAAAGBBMAAIABwQQAAGBAMAEAABgQTAAAAAYEEwAAgAHBBAAAYEAwAQAAGBBMAAAABgQTAACAAcEEAABgQDABAAAYEEwAAAAGBBMAAIABwQQAAGBAMAEAABgQTAAAAAYEEwAAgAHBBAAAYEAwAQAAGBBMAAAABgQTAACAAcEEAABgQDABAAAYEEwAAAAGLSKYFi5cKKvVKi8vLw0cOFDZ2dkXXP/9999Xr1695OXlpb59+2rdunXNNCkAAGiLnB5MK1euVEpKilJTU7V9+3b1799fQ4cOVXFxcb3rb9myRWPGjNGECRP01VdfKTExUYmJifrmm2+aeXIAANBWOD2Y5s2bp0mTJikpKUm9e/fW4sWL5ePjo6VLl9a7/oIFCzRs2DBNnz5dUVFRevbZZzVgwAC98sorzTw5AABoK5waTDU1NcrJyVFCQoJ9mYuLixISEpSVlVXvNllZWQ7rS9LQoUPPuz4AAMDlcnPmzo8ePara2lqFhYU5LA8LC9OuXbvq3aawsLDe9QsLC+tdv7q6WtXV1fb7ZWVlkqTy8vLLGf2i1FafbPJ9tCYV7rXOHqFFOXPyjLNHaFGa4z3ZHHjfO+J974j3vaPmfN/7+/vLYrE0eHunBlNzSEtL05w5c85ZHhkZ6YRp2rZrnT0AWrTAxwOdPQKaAO97XEhzvu/LysoUEBDQ4O2dGkzt27eXq6urioqKHJYXFRUpPDy83m3Cw8Mvaf0ZM2YoJSXFfr+urk7Hjx9Xu3btLqs00TqVl5crMjJShw8fvqw3DoDWg/c9pLNHmC6HU4PJw8NDsbGxSk9PV2JioqSzQZOenq4pU6bUu018fLzS09M1bdo0+7JPP/1U8fHx9a7v6ekpT09Ph2VBQUGNMT5asYCAAP7hBNoY3ve4HE4/JZeSkqLx48crLi5O119/vebPn6+qqiolJSVJksaNG6dOnTopLS1NkjR16lQNHjxYL730km677TatWLFC27Zt0+uvv+7MlwEAAK5gTg+m0aNHq6SkRLNmzVJhYaGio6O1YcMG+4Xd+fn5cnH5+cN8gwYN0rvvvquZM2fqySefVPfu3bVq1Spdey1nygEAQNOw2Gw2m7OHAJpLdXW10tLSNGPGjHNO1QK4MvG+R2MgmAAAAAyc/k3fAAAALR3BBAAAYEAwARdh9uzZio6OdvYYQJuQkZEhi8Wi0tJSZ49yySwWi1atWuXsMdAECCa0Offee6/9e78AtDyDBg1SQUGBAgOd9+3vBw8elMViUW5urtNmQMvi9K8VAADglzw8PM771xsAZ+EIE1q0IUOG6KGHHtK0adMUHByssLAwLVmyxP7lpv7+/urWrZvWr18vSaqtrdWECRPUuXNneXt7q2fPnlqwYIH9+WbPnq3ly5frk08+kcVikcViUUZGhiTp+++/15gxYxQSEiJfX1/FxcVp69atDvO88847slqtCgwM1F133aWKiopm+10ArdWlvo9/fUru0KFDGj58uIKDg+Xr66s+ffpo3bp1Dutu3LhRMTEx8vb21k033aTi4mKtX79eUVFRCggI0N13360TJ07YZ9qwYYNuvPFGBQUFqV27dvrDH/6gvLw8++OdO3eWJMXExMhisWjIkCH2x5YuXao+ffrI09NTERER5/xliqNHj+r222+Xj4+PunfvrtWrVzfFrxXNjGBCi7d8+XK1b99e2dnZeuihh/TAAw/ozjvv1KBBg7R9+3bdcsstGjt2rE6cOKG6ujpdddVVev/99/Xtt99q1qxZevLJJ/Xee+9Jkh599FGNGjVKw4YNU0FBgQoKCjRo0CBVVlZq8ODBOnLkiFavXq0dO3boscceU11dnX2OvLw8rVq1SmvWrNGaNWv0j3/8Q3PnznXWrwVoVS7lffxrycnJqq6u1ueff66dO3fq+eefl5+fn8M6s2fP1iuvvKItW7bo8OHDGjVqlObPn693331Xa9eu1aZNm/TXv/7Vvn5VVZVSUlK0bds2paeny8XFRbfffrv9PZ+dnS1J+uyzz1RQUKCPPvpIkvTqq68qOTlZ9913n3bu3KnVq1erW7duDrPMmTNHo0aN0tdff61bb71V99xzj44fP96ov084gQ1owQYPHmy78cYb7ffPnDlj8/X1tY0dO9a+rKCgwCbJlpWVVe9zJCcn2+644w77/fHjx9tGjBjhsM5rr71m8/f3tx07dqze50hNTbX5+PjYysvL7cumT59uGzhwYENeFtCmXOr7ePPmzTZJth9//NFms9lsffv2tc2ePbve5/5p3c8++8y+LC0tzSbJlpeXZ192//3324YOHXreGUtKSmySbDt37rTZbDbbgQMHbJJsX331lcN6HTt2tD311FPnfR5JtpkzZ9rvV1ZW2iTZ1q9ff95t0DpwhAktXr9+/ey3XV1d1a5dO/Xt29e+7Kc/o1NcXCxJWrhwoWJjYxUaGio/Pz+9/vrrys/Pv+A+cnNzFRMTo5CQkPOuY7VaHf7adUREhH2fAC7sUt/Hv/Twww/rz3/+s2644Qalpqbq66+/vuDzh4WFycfHR126dHFY9svn3rt3r8aMGaMuXbooICBAVqtVki74b0VxcbF++OEH3XzzzRf9Wn19fRUQEMC/FVcAggktnru7u8N9i8XisMxisUiS6urqtGLFCj366KOaMGGCNm3apNzcXCUlJammpuaC+/D29m7QHL88ZQfg/C7lffxrEydO1P79+zV27Fjt3LlTcXFxDqfXfv38v37un5b98rmHDx+u48ePa8mSJdq6dav9esUL/VtxMf9O/HqW+vaN1olgwhUlMzNTgwYN0oMPPqiYmBh169bN4UJO6ewncGprax2W9evXT7m5uVxnALRQkZGRmjx5sj766CP96U9/0pIlSxr8XMeOHdPu3bs1c+ZM3XzzzYqKitKPP/7osI6Hh4ckOfxb4e/vL6vVqvT09AbvG60XwYQrSvfu3bVt2zZt3LhRe/bs0dNPP60vv/zSYR2r1aqvv/5au3fv1tGjR3X69GmNGTNG4eHhSkxMVGZmpvbv368PP/xQWVlZTnolAH4ybdo0bdy4UQcOHND27du1efNmRUVFNfj5goOD1a5dO73++uvat2+f/v73vyslJcVhnQ4dOsjb21sbNmxQUVGRysrKJJ29uPyll17Syy+/rL1792r79u3nHO3ClYlgwhXl/vvv18iRIzV69GgNHDhQx44d04MPPuiwzqRJk9SzZ0/FxcUpNDRUmZmZ8vDw0KZNm9ShQwfdeuut6tu3r+bOnStXV1cnvRIAP6mtrVVycrKioqI0bNgw9ejRQ4sWLWrw87m4uGjFihXKycnRtddeq0ceeUR/+ctfHNZxc3PTyy+/rNdee00dO3bUiBEjJEnjx4/X/PnztWjRIvXp00d/+MMftHfv3st6fWgdLDabzebsIQAAAFoyjjABAAAYEEwAAAAGBBMAAIABwQQAAGBAMAEAABgQTAAAAAYEEwAAgAHBBAAAYEAwAbjizZ49W9HR0c4eA0ArRjABaFXuvfdeJSYmOnsMAG0MwQQAAGBAMAFoMkOGDNFDDz2kadOmKTg4WGFhYVqyZImqqqqUlJQkf39/devWTevXr5d09o+sTpgwQZ07d5a3t7d69uypBQsW2J9v9uzZWr58uT755BNZLBZZLBZlZGRIkr7//nuNGTNGISEh8vX1VVxcnLZu3eowzzvvvCOr1arAwEDdddddqqiocJj14Ycf1mOPPaaQkBCFh4dr9uzZDtuXlpZq4sSJCg0NVUBAgG666Sbt2LHD/viOHTv0u9/9Tv7+/goICFBsbKy2bdsmSTp06JCGDx+u4OBg+fr6qk+fPlq3bl1j/roBNCGCCUCTWr58udq3b6/s7Gw99NBDeuCBB3TnnXdq0KBB2r59u2655RaNHTtWJ06cUF1dna666iq9//77+vbbbzVr1iw9+eSTeu+99yRJjz76qEaNGqVhw4apoKBABQUFGjRokCorKzV48GAdOXJEq1ev1o4dO/TYY4+prq7OPkdeXp5WrVqlNWvWaM2aNfrHP/6huXPnnjOrr6+vtm7dqhdeeEHPPPOMPv30U/vjd955p4qLi7V+/Xrl5ORowIABuvnmm3X8+HFJ0j333KOrrrpKX375pXJycvTEE0/I3d1dkpScnKzq6mp9/vnn2rlzp55//nn5+fk19a8fQGOxAUATGTx4sO3GG2+03z9z5ozN19fXNnbsWPuygoICmyRbVlZWvc+RnJxsu+OOO+z3x48fbxsxYoTDOq+99prN39/fduzYsXqfIzU11ebj42MrLy+3L5s+fbpt4MCB553VZrPZrrvuOtvjjz9us9lsti+++MIWEBBgO3XqlMM6Xbt2tb322ms2m81m8/f3ty1btqzeGfr27WubPXt2vY8BaPncnB1sAK5s/fr1s992dXVVu3bt1LdvX/uysLAwSVJxcbEkaeHChVq6dKny8/N18uRJ1dTUGD/hlpubq5iYGIWEhJx3HavVKn9/f/v9iIgI+z7rm/XX6+zYsUOVlZVq166dwzonT55UXl6eJCklJUUTJ07UO++8o4SEBN15553q2rWrJOnhhx/WAw88oE2bNikhIUF33HHHOfsD0HJxSg5Ak/rplNRPLBaLwzKLxSJJqqur04oVK/Too49qwoQJ2rRpk3Jzc5WUlKSampoL7sPb27tBc/zylJ1pncrKSkVERCg3N9fhZ/fu3Zo+fbqks9dY/fvf/9Ztt92mv//97+rdu7c+/vhjSdLEiRO1f/9+jR07Vjt37lRcXJz++te/GucG0DIQTABajMzMTA0aNEgPPvigYmJi1K1bN/vRm594eHiotrbWYVm/fv2Um5trv5aoKQwYMECFhYVyc3NTt27dHH7at29vX69Hjx565JFHtGnTJo0cOVJvvfWW/bHIyEhNnjxZH330kf70pz9pyZIlTTYvgMZFMAFoMbp3765t27Zp48aN2rNnj55++ml9+eWXDutYrVZ9/fXX2r17t44eParTp09rzJgxCg8PV2JiojIzM7V//359+OGHysrKarTZEhISFB8fr8TERG3atEkHDx7Uli1b9NRTT2nbtm06efKkpkyZooyMDB06dEiZmZn68ssvFRUVJUmaNm2aNm7cqAMHDmj79u3avHmz/TEALR/BBKDFuP/++zVy5EiNHj1aAwcO1LFjx/Tggw86rDNp0iT17NlTcXFxCg0NVWZmpjw8PLRp0yZ16NBBt956q/r27au5c+fK1dW10WazWCxat26dfvvb3yopKUk9evTQXXfdpUOHDiksLEyurq46duyYxo0bpx49emjUqFH6/e9/rzlz5kg6+5UJycnJioqK0rBhw9SjRw8tWrSo0eYD0LQsNpvN5uwhAAAAWjKOMAEAABgQTAAAAAYEEwAAgAHBBAAAYEAwAQAAGBBMAAAABgQTAACAAcEEAABgQDABAAAYEEwAAAAGBBMAAIABwQQAAGDw/wHCA9RhkALQswAAAABJRU5ErkJggg==",
            "text/plain": [
              "<Figure size 590.75x500 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "sns.catplot(x='matchness', y='response', hue=\"label\", data=data, kind=\"bar\")\n",
        "sns.catplot(x='matchness', y='rt', hue=\"label\", data=data, kind=\"bar\")\n",
        "\n",
        "plt.tight_layout()  # 调整子图间距\n",
        "plt.show()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 8,
      "metadata": {},
      "outputs": [
        {
          "data": {
            "image/png": "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lU65qFh5fv4RERGsWLGChIQEAgMDL/o5leXJJ5+kffv2PPzww4waNQpPT0/i4+P58ccfeeutt646dqk6lGdKZ488c6ENGzawatUqevToQUhICBs2bCAjI8M8jX5FNGjQgJSUFBYuXEi7du344Ycf+Pbbby2OiYiI4ODBg+bpLL29vencuTO33HILAwcO5LXXXiMqKoq9e/diMpno1avXVV3nwYMHef/997nrrruoUaMGCQkJ7N+/n7///e9A5XxuEvtSjimdcoxtcszVqIzvjry8vBg5ciRPPPEEgYGBhISE8NRTT1lMSyy2oVxUOuUi2+WiJ554gqeffpr69esTExPD3Llz2b59u3nppPL8LpSmYcOGDBkyhL///e/MnDmTVq1akZGRwapVq2jRogV33nnnVccuIpVLnwKucdOmTWPSpElMnz6d6Oho7r33XvO6Dh4eHqxYsYLMzEzatWvH3XffTbdu3a74i7S5c+dSo0YNOnfuzIABA3jwwQcJCQkp83gnJyfefPNN3nvvPWrUqEHfvn1LPe7FF19k4MCBDB06lNatW5OYmMiKFSss1tC4Vnz44YecPHmS1q1bM3ToUCZMmHDRezRz5kx+/PFHateuTatWrQDo0qULX375JYsXLyYmJoauXbuycePGSonJ29ubl19+mbZt29KuXTuSk5NZunQpDg4OmEwmli5dyi233MKIESNo2LAh9913H4cOHSr3h025PijHVA1VMcdcjZ49e7JkyRJWrlxJu3btaN++Pa+//voV/UFYp04dvv76axYtWkTLli159913ef75560YtdiTclHVUBVzUXl+/qNHj6ZRo0a0bduW4OBg4uLiytV2ixYt+OWXX9i3bx8333wzrVq1Yvr06dSoUaNSYpeqRXmm6vHx8WHt2rXccccdNGzYkKlTpzJz5kxuv/32Crd511138eijj/Lwww8TExPDunXrmDZtmsUxAwcOpFevXtx6660EBwfz+eefA/D111/Trl07Bg8eTJMmTZg8eXKFZmP4Kw8PD/bu3cvAgQNp2LAhDz74IOPGjWPMmDFA5XxuEvtTjql6rpccczUq67ujV155hZtvvpk+ffrQvXt3brrpJos1iMV2lIuqnuspF02YMIHHHnuMSZMm0bx5c5YvX87ixYtp0KABUP7fhdLMnTuXv//970yaNIlGjRrRr18/Nm3aVOba4iJiXybDFosAiIiIiIiIiIiIiIiIiIjIdUsjpkVERERERERERERERERExKpUmBa5Rj3//PN4eXmV+ria6V5EREA5RkSqBuUiEakOyspjXl5e/Prrr/YOT0SuccoxIlIVKBeJSHlpKm+Ra1RmZiaZmZml7nN3d6dmzZo2jkhEqhPlGBGpCpSLRKQ6SExMLHNfzZo1cXd3t2E0IlLdKMeISFWgXCQi5aXCtIiIiIiIiIiIiIiIiIiIWJWm8hYREREREREREREREREREatSYVpERERERERERERERERERKyq2hemDcPg9OnTaMZyEbEH5SARsRflHxGxJ+UgEbEn5SARsSflIBERkbJV+8L0mTNn8PX15cyZM/YORUSuQ8pBImIvyj8iYk/KQSJiT8pBImJPykEiIiJlq/aFaRERERERERERERERERERsS8VpkVERERERERERERERERExKpUmBYREREREREREREREREREatSYVpERERERERERERERERERKxKhWkREREREREREREREREREbEqFaZFRERERERERERERERERMSqVJgWERERERERERERERERERGrUmFaRERERERERERERERERESsSoVpERERERERERERERERERGxKid7ByBibz3v6EPa8eOl7gsNCmLF0u9tHJGIiIiIiIiIiIiIiIhI9aLCtFz30o4fZ9hz80vdN/+pYTaORkRERERERERERERERKT60VTeIiIiIiIiIiIiIiIiIiJiVSpMi4iIiIiIiIiIiIiIiIiIVakwLSIiIiIiIiIiIiIiIiIiVqXCtIiIiIiIiIiIiIiIiIiIWJUK0yIiIiIiIiIiIiIiIiIiYlUqTIuIiIiIiIiIiIiIiIiIiFWpMC0iIiIiIiIiIiIiIiIiIlalwrSIiIiIiIiIiIiIiIiIiFiVCtMiIiIiIiIiIiIiIiIiImJVKkyLiIiIiIiIiIiIiIiIiIhVqTAtIiIiIiIiIiIiIiIiIiJWpcK0iIiIiIiIiIiIiIiIiIhYlQrTIiIiIiIiIiIiIiIiIiJiVSpMi4iIiIiIiIiIiIiIiIiIVakwLSIiIiIiIiIiIiIiIiIiVqXCtIiIiIiIiIiIiIiIiIiIWJUK0yIiIiIiIiIiIiIiIiIiYlUqTIuIiIiIiIiIiIiIiIiIiFWpMC0iIiIiIiIiIiIiIiIiIlalwrSIiIiIiIiIiIiIiIiIiFiVCtMiIiIiIiIiIiIiIiIiImJVKkyLiIiIiIiIiIiIiIiIiIhV2b0wfeTIEf72t78RGBiIu7s7zZs3Z/Pmzeb9hmEwffp0wsPDcXd3p3v37uzfv9+OEYuIiIiIiIiIiIiIiIiIyJWwa2H65MmTdOrUCWdnZ5YtW0Z8fDwzZ87E39/ffMzLL7/Mm2++ybvvvsuGDRvw9PSkZ8+enD9/3o6Ri4iIiIiIiIiIiIiIiIhIeTnZs/OXXnqJ2rVrM3fuXPO2yMhI83PDMJg1axZTp06lb9++AHz88ceEhoayaNEi7rvvPpvHLCIiIiIiIiIiIiIiIiIiV8auI6YXL15M27ZtueeeewgJCaFVq1bMmTPHvP/gwYMcO3aM7t27m7f5+vpy4403sn79+lLbzM3N5fTp0xYPERFbUQ4SEXtR/hERe1IOEhF7Ug4SEXtSDhIRESk/uxamDxw4wOzZs2nQoAErVqxg7NixTJgwgfnz5wNw7NgxAEJDQy3OCw0NNe/7qxdeeAFfX1/zo3bt2ta9CBGRCygHiYi9KP+IiD0pB4mIPSkHiYg9KQeJiIiUn8kwDMNenbu4uNC2bVvWrVtn3jZhwgQ2bdrE+vXrWbduHZ06deLo0aOEh4ebjxk0aBAmk4kvvvjiojZzc3PJzc01vz59+jS1a9fm1KlT+Pj4WPeC5JoUc0MHhj03v9R9858axvaNpY/OFymNcpCI2Ivyj4jYk3KQiNiTcpCI2JNykIiISPnZdY3p8PBwmjRpYrEtOjqar7/+GoCwsDAA0tLSLArTaWlpxMTElNqmq6srrq6u1glYROQylINExF6Uf0TEnpSDRMSelINExJ6Ug0RERMrPrlN5d+rUiYSEBItt+/bto27dugBERkYSFhbGqlWrzPtPnz7Nhg0b6NChg01jFRERERERERERERERERGRirHriOlHH32Ujh078vzzzzNo0CA2btzI+++/z/vvvw+AyWRi4sSJPPvsszRo0IDIyEimTZtGjRo16Nevnz1DFxERERERERERERERERGRcrJrYbpdu3Z8++23TJkyhWeeeYbIyEhmzZrFkCFDzMdMnjyZnJwcHnzwQbKysrjppptYvnw5bm5udoxcRERERERERERERERERETKy66FaYDevXvTu3fvMvebTCaeeeYZnnnmGRtGJSIiIiIiIiIiIiIiIiIilcWua0yLiIiIiIiIiIiIiIiIiEj1p8K0iIiIiIiIiIiIiIiIiFyXIiIimDVrlvm1yWRi0aJFlzxn+PDh9OvXz6pxVUd2n8pbRERERERERERERERERKQqSE1Nxd/fH4Dk5GQiIyPZtm0bMTEx5mPeeOMNDMOwU4TXLhWmRURERERERERERERERESAsLCwyx7j6+trg0iqH03lLSIiIiIiIiIiIiIiIiJ2V1RUxMsvv0xUVBSurq7UqVOH5557DoBdu3bRtWtX3N3dCQwM5MEHHyQ7O9t8bsn02q+++irh4eEEBgYybtw48vPzzcekp6fTp08f3N3diYyM5LPPPrsohgun8o6MjASgVatWmEwmunTpYtFXidzcXCZMmEBISAhubm7cdNNNbNq0ybx/zZo1mEwmVq1aRdu2bfHw8KBjx44kJCRU1lt3TVBhWkRERERERERERERERETsbsqUKbz44otMmzaN+Ph4FixYQGhoKDk5OfTs2RN/f382bdrEl19+yU8//cTDDz9scf7q1atJSkpi9erVzJ8/n3nz5jFv3jzz/uHDh3P48GFWr17NV199xTvvvEN6enqZ8WzcuBGAn376idTUVL755ptSj5s8eTJff/018+fPZ+vWrURFRdGzZ08yMzMtjnvqqaeYOXMmmzdvxsnJiQceeKCC79S1SVN5i4iIiIiIiIiIiIiIiIhdnTlzhjfeeIO33nqLYcOGAVC/fn1uuukm5syZw/nz5/n444/x9PQE4K233qJPnz689NJLhIaGAuDv789bb72Fo6MjjRs35s4772TVqlWMHj2affv2sWzZMjZu3Ei7du0A+PDDD4mOji4zpuDgYAACAwPLnOI7JyeH2bNnM2/ePG6//XYA5syZw48//siHH37IE088YT72ueeeo3PnzgD83//9H3feeSfnz5/Hzc3tat66a4ZGTIuIiIiIiIiIiIiIiIiIXe3Zs4fc3Fy6detW6r6WLVuai9IAnTp1oqioyGI67KZNm+Lo6Gh+HR4ebh4RvWfPHpycnGjTpo15f+PGjfHz87uquJOSksjPz6dTp07mbc7Oztxwww3s2bPH4tgWLVpYxAZccsR2daPCtIiIiIiIiIiIiIiIiIjYlbu7+1W34ezsbPHaZDJRVFR01e1WlgvjM5lMAFUqPmtTYVpERERERERERERERERE7KpBgwa4u7uzatWqi/ZFR0ezY8cOcnJyzNvi4uJwcHCgUaNG5Wq/cePGFBQUsGXLFvO2hIQEsrKyyjzHxcUFgMLCwjKPqV+/Pi4uLsTFxZm35efns2nTJpo0aVKu2K4XWmNaREREREREREREREREROzKzc2NJ598ksmTJ+Pi4kKnTp3IyMhg9+7dDBkyhKeffpphw4YRGxtLRkYG48ePZ+jQoeb1pS+nUaNG9OrVizFjxjB79mycnJyYOHHiJUdqh4SE4O7uzvLly6lVqxZubm74+vpaHOPp6cnYsWN54oknCAgIoE6dOrz88sucPXuWkSNHXtV7Ut1oxLSIiIiIiIiIiIiIiIiI2N20adOYNGkS06dPJzo6mnvvvZf09HQ8PDxYsWIFmZmZtGvXjrvvvptu3brx1ltvXVH7c+fOpUaNGnTu3JkBAwbw4IMPEhISUubxTk5OvPnmm7z33nvUqFGDvn37lnrciy++yMCBAxk6dCitW7cmMTGRFStW4O/vf0XxVXcmwzAMewdhTadPn8bX15dTp07h4+Nj73CkCoq5oQPDnptf6r75Tw1j+8b1No5IqhPlIBGxF+UfEbEn5SARsSflIBGxJ+UgERGRsmnEtIiIiIiIiIiIiIiIiIiIWJUK0yIiIiIiIiIiIiIiIiIiYlUqTIuIiIiIiIiIiIiIiIiIiFWpMC0iIiIiIiIiIiIiIiIiIlalwrSIiIiIiIiIiIiIiIiIiFiVCtMiIiIiIiIiIiIiIiIiImJVKkyLiIiIiIiIiIiIiIiIiIhVqTAtIiIiIiIiIiIiIiIiIiJWpcK0iIiIiIiIiIiIiIiIiIhYlZO9AxAREREREfvo1bsXacfTytwfGhTK8iXLbRiRiIiIiIhI9Xf/ffdy8vjxUvf5BwWxYOEXNo5I5PoUGxvLokWL2L59u837Tk5OJjIykm3bthETEwNAXFwcDz30EHv37uXOO+9k0aJFNo/L2lSYFhERERG5TqUdT2P0u6PL3D/noTk2jEZEREREROT6cPL4caaNeaDUff967yMbRyPVUc87+pBWxs0P1hAaFMSKpd/brL/SDB8+nKysrGu6mPvYY48RExPDsmXL8PLysnc4VqHCtIiIiIiIiIiIiIiIiEg1kXb8OMOem2+z/uY/NcxmfVVnSUlJPPTQQ9SqVcveoViN1pgWEREREREREREREREREZvo0qUL48ePZ+LEifj7+xMaGsqcOXPIyclhxIgReHt7ExUVxbJlywAoLCxk5MiRREZG4u7uTqNGjXjjjTfM7cXGxjJ//ny+++47TCYTJpOJNWvWAPDHH38wePBgAgIC8PT0pG3btmzYsMEink8++YSIiAh8fX257777OHPmTLmu46uvvqJ58+a4u7sTGBhI9+7dycnJMe//4IMPiI6Oxs3NjcaNG/POO++U2k5ycjImk4kTJ07wwAMPYDKZmDdv3hW8o9cOjZgWEREREREREREREREREZuZP38+kydPZuPGjXzxxReMHTuWb7/9lv79+/PPf/6T119/naFDh5KSkoKzszO1atXiyy+/JDAwkHXr1vHggw8SHh7OoEGDePzxx9mzZw+nT59m7ty5AAQEBJCdnU3nzp2pWbMmixcvJiwsjK1bt1JUVGSOIykpiUWLFrFkyRJOnjzJoEGDePHFF3nuuecuGX9qaiqDBw/m5Zdfpn///pw5c4Zff/0VwzAA+Oyzz5g+fTpvvfUWrVq1Ytu2bYwePRpPT0+GDbMcYV67dm1SU1Np1KgRzzzzDPfeey++vr6V/I5XDSpMi4iIiIiIiIiIiIiIiIjNtGzZkqlTpwIwZcoUXnzxRYKCghg9ejQA06dPZ/bs2ezcuZP27dszY8YM87mRkZGsX7+e//znPwwaNAgvLy/c3d3Jzc0lLCzMfNy8efPIyMhg06ZNBAQEABAVFWURR1FREfPmzcPb2xuAoUOHsmrVqnIVpgsKChgwYAB169YFoHnz5ub9Tz/9NDNnzmTAgAHmmOPj43nvvfcuKkw7OjoSFhaGyWTC19fX4hqqGxWmRURERERERERERERERMRmWrRoYX7u6OhIYGCgRWE3NDQUgPT0dADefvttPvroI1JSUjh37hx5eXnExMRcso/t27fTqlUrc1G6NBEREeaiNEB4eLi5z0tp2bIl3bp1o3nz5vTs2ZMePXpw99134+/vT05ODklJSYwcOdJcaAcoKCiotiOhy0uFaRERERERERERERERERGxGWdnZ4vXJpPJYpvJZAKKRzQvXLiQxx9/nJkzZ9KhQwe8vb155ZVXLlor+q/c3d0rFMeFU32XxdHRkR9//JF169axcuVK/v3vf/PUU0+xYcMGPDw8AJgzZw433njjReddz1SYFhERERERERERkevWsKEjyMo8Veo+vwBf5n8y18YRiYiIyIXi4uLo2LEj//jHP8zbkpKSLI5xcXGhsLDQYluLFi344IMPyMzMvOSo6YoymUx06tSJTp06MX36dOrWrcu3337LY489Ro0aNThw4ABDhgyp9H6vZSpMi4iIiIiIiIiIyHUrK/MUTz30aqn7nnv3cRtHIyIiIn/VoEEDPv74Y1asWEFkZCSffPIJmzZtIjIy0nxMREQEK1asICEhgcDAQHx9fRk8eDDPP/88/fr144UXXiA8PJxt27ZRo0YNOnTocFUxbdiwgVWrVtGjRw9CQkLYsGEDGRkZREdHAzBjxgwmTJiAr68vvXr1Ijc3l82bN3Py5Ekee+yxq+r7WuZg7wBEREREREREREREREREREozZswYBgwYwL333suNN97IiRMnLEZPA4wePZpGjRrRtm1bgoODiYuLw8XFhZUrVxISEsIdd9xB8+bNefHFFytlOm0fHx/Wrl3LHXfcQcOGDZk6dSozZ87k9ttvB2DUqFF88MEHzJ07l+bNm9O5c2fmzZtnUUy/HmnEtMglHDhwgJgbSr9rJjQoiBVLv7dxRCIiIiIiIiIiIiIiImULDQpi/lPDbNrflVizZs1F25KTky/aZhiG+fncuXOZO9dyeY0XXnjB/Dw4OJiVK1de1EbdunX56quvSo0jNjaW2NhYi20TJ05k4sSJZQf/p+joaJYvX37JY+6//37uv//+UvdFRERYXB9AVlbWZfu91qkwLXIJhYUGw56bX+o+WyZ1ERERERERERERERGR8tCgOqmqNJW3iIiIiIiIiIiIiIiIiMifUlJS8PLyKvORkpJi7xCvSRoxLSIiIiIiIiIiIiIiIiLypxo1arB9+/ZL7pcrp8K0iIiIiIiIiIiIiIiIiMifnJyciIqKsncY1Y6m8hYREREREREREREREREREatSYVpERERERERERERERERERKxKhWkREREREREREREREREREbGqCq0xXa9ePTZt2kRgYKDF9qysLFq3bs2BAwcqJTgRERERERERub6MvP9+TmVklLrPNziYDxcssHFEIiIiIiIiUhkqVJhOTk6msLDwou25ubkcOXLkqoMSERERERERkevTqYwMZt/Vt9R9Yxd/Z+NoREREREREpLJcUWF68eLF5ucrVqzA19fX/LqwsJBVq1YRERFRacGJiIiIiIiIiIiIiIiIiFS22NhYFi1axPbt2yt0vmEYjBkzhq+++oqTJ0+ybds2YmJiSj3WZDLx7bff0q9fvwrHWx4RERFMnDiRiRMnWrWfirqiwnTJm2UymRg2bJjFPmdnZyIiIpg5c2alBSciIiIiIiIiIiIiIiIi5dfvzh5kZqTZrL+A4FAW/bDSZv2VZvjw4WRlZbFo0SKb9bl8+XLmzZvHmjVrqFevHkFBQWUem5qair+/v81iq6quqDBdVFQEQGRkJJs2bbrkG3ylXnzxRaZMmcIjjzzCrFmzADh//jyTJk1i4cKF5Obm0rNnT9555x1CQ0MrrV8RERERERERERERERGR6iIzI421L91ns/5ueXKhzfqqSpKSkggPD6djx45lHpOXl4eLiwthYWE2jKzqcqjISQcPHqzUovSmTZt47733aNGihcX2Rx99lO+//54vv/ySX375haNHjzJgwIBK61dEREREREREREREREREbKdLly6MHz+eiRMn4u/vT2hoKHPmzCEnJ4cRI0bg7e1NVFQUy5YtA4qXEx45ciSRkZG4u7vTqFEj3njjDXN7sbGxzJ8/n++++w6TyYTJZGLNmjUA/PHHHwwePJiAgAA8PT1p27YtGzZssIjnk08+ISIiAl9fX+677z7OnDlz2WsYPnw448ePJyUlBZPJZF7quEuXLjz88MNMnDiRoKAgevbsCRTPRn3haO7Dhw8zaNAg/Pz8CAgIoG/fviQnJ1u0369fP1599VXCw8MJDAxk3Lhx5Ofnm49JT0+nT58+uLu7ExkZyWeffXYlPwa7uKIR0xdatWoVq1atIj093TySusRHH31U7nays7MZMmQIc+bM4dlnnzVvP3XqFB9++CELFiyga9euAMydO5fo6Gh+++032rdvX9HQRURERERERERERERERMRO5s+fz+TJk9m4cSNffPEFY8eO5dtvv6V///7885//5PXXX2fo0KGkpKTg7OxMrVq1+PLLLwkMDGTdunU8+OCDhIeHM2jQIB5//HH27NnD6dOnmTt3LgABAQFkZ2fTuXNnatasyeLFiwkLC2Pr1q0Wdc2kpCQWLVrEkiVLOHnyJIMGDeLFF1/kueeeu2T8b7zxBvXr1+f9999n06ZNODo6Wlzb2LFjiYuLK/Xc/Px8evbsSYcOHfj1119xcnLi2WefpVevXuzcuRMXFxcAVq9eTXh4OKtXryYxMZF7772XmJgYRo8eDRQXr48ePcrq1atxdnZmwoQJpKenX9XPxdoqVJieMWMGzzzzDG3btiU8PByTyVThAMaNG8edd95J9+7dLQrTW7ZsIT8/n+7du5u3NW7cmDp16rB+/XoVpkVERERERERERERERESuQS1btmTq1KkATJkyhRdffJGgoCBz0XX69OnMnj2bnTt30r59e2bMmGE+NzIykvXr1/Of//yHQYMG4eXlhbu7O7m5uRZTZs+bN4+MjAw2bdpEQEAAAFFRURZxFBUVMW/ePLy9vQEYOnQoq1atumxh2tfXF29vbxwdHS+aprtBgwa8/PLLZZ77xRdfUFRUxAcffGCusc6dOxc/Pz/WrFlDjx49APD39+ett97C0dGRxo0bc+edd7Jq1SpGjx7Nvn37WLZsGRs3bqRdu3YAfPjhh0RHR18ybnurUGH63XffZd68eQwdOvSqOl+4cCFbt25l06ZNF+07duwYLi4u+Pn5WWwPDQ3l2LFjZbaZm5tLbm6u+fXp06evKkYRkSuhHCQi9qL8IyL2pBwkIvakHCQi9qQcJCJSMRcu7+vo6EhgYCDNmzc3bwsNDQUwjwB+++23+eijj0hJSeHcuXPk5eURExNzyT62b99Oq1atzEXp0kRERJiL0gDh4eFXPeq4TZs2l9y/Y8cOEhMTLfoFOH/+PElJSebXTZs2tRiJHR4ezq5duwDYs2cPTk5OFn01btz4orpqVVOhNabz8vIuuZB3eRw+fJhHHnmEzz77DDc3t6tq60IvvPACvr6+5kft2rUrrW0RkctRDhIRe1H+ERF7Ug4SEXtSDhIRe1IOEhGpGGdnZ4vXJpPJYlvJSOKioiIWLlzI448/zsiRI1m5ciXbt29nxIgR5OXlXbIPd3f3CsXx1yWMr5Snp+cl92dnZ9OmTRu2b99u8di3bx/333+/VWOztwoVpkeNGsWCBQuuquMtW7aQnp5O69atcXJywsnJiV9++YU333wTJycnQkNDycvLIysry+K8tLS0i4bEX2jKlCmcOnXK/Dh8+PBVxSkiciWUg0TEXpR/RMSelINExJ6Ug0TEnpSDRESsLy4ujo4dO/KPf/yDVq1aERUVZTGyGMDFxYXCwkKLbS1atGD79u1kZmbaMtzLat26Nfv37yckJISoqCiLh6+vb7naaNy4MQUFBWzZssW8LSEh4aK6alVToam8z58/z/vvv89PP/1EixYtLqrYv/baa5dto1u3bubh5iVGjBhB48aNefLJJ6lduzbOzs6sWrWKgQMHAsVvaEpKCh06dCizXVdXV1xdXStwVSIiV085SETsRflHROxJOUhE7Ek5SETsSTlIRMT6GjRowMcff8yKFSuIjIzkk08+YdOmTURGRpqPiYiIYMWKFSQkJBAYGIivry+DBw/m+eefp1+/frzwwguEh4ezbds2atSocclao7UNGTKEV155hb59+/LMM89Qq1YtDh06xDfffMPkyZOpVavWZdto1KgRvXr1YsyYMcyePRsnJycmTpxYrlHi9lShwvTOnTvN87b//vvvFvtKhtZfjre3N82aNbPY5unpSWBgoHn7yJEjeeyxxwgICMDHx4fx48fToUMH2rdvX5GwRURErin97uxBZkZaqfsCgkNZ9MNKG0ckIiIiIiIiIiIiYltjxoxh27Zt3HvvvZhMJgYPHsw//vEPli1bZj5m9OjRrFmzhrZt25Kdnc3q1avp0qULK1euZNKkSdxxxx0UFBTQpEkT3n77bTteDXh4eLB27VqefPJJBgwYwJkzZ6hZsybdunXDx8en3O3MnTuXUaNG0blzZ0JDQ3n22WeZNm2aFSO/ehUqTK9evbqy4yjV66+/joODAwMHDiQ3N5eePXvyzjvv2KRvERERe8vMSGPtS/eVuu+WJxfaOBoRERERERERERG5FgQEh9r0+8OA4NArOn7NmjUXbUtOTr5om2EY5udz585l7ty5FvtfeOEF8/Pg4GBWrrx4IE/dunX56quvSo0jNjaW2NhYi20TJ05k4sSJZQd/mWNLuzawvBaAsLAw5s+fX2bb8+bNu2jbrFmzLmpjyZIlFtuGDh1aZptVQYUK09by1x+Wm5sbb7/9tt3vXBARERERERERERERERG5FmimRamqKlSYvvXWWy85ZffPP/9c4YBEREREREREREREREREROwlJSWFJk2alLk/Pj6eOnXq2DCi6qFChemS9aVL5Ofns337dn7//XeGDRtWGXGJiIiIiIiIiIiIiIiIiNhcjRo12L59+yX3y5WrUGH69ddfL3V7bGws2dnZVxWQiIiIiIhUDQcOHKBV+1al7gsNCmX5kuU2jkhERERERKR62x2/h9u7dyt1n39QEAsWfmHjiESuT05OTkRFRdk7jGqnUteY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DPPzuXPnMnfuXIv9L7zwgvl5cHAwK1devLxh3bp1+eqrr0qNIzY2ltjYWIttEydONE/FfTlubm68+eabvPnmm2UeM23aNKZNm2axrbTrX7RokcVrb2/vS7ZdWuzXgisqTNesWZPff/+dqKioUvfv3LmT8PDwSglMxFYKvcMoLDJwd3bEz73sGy8uFObjhin/HKeAbSknaRtRuWsTiIiIiIiIiIiIiIiIVMTyJcvtHYJIqa5oKu877riDadOmcf78+Yv2nTt3jqeffprevXtXWnAitlDgWxuAcF+3y64vXcLBwYRT5gEAViekWy02ERERERERERERERERsa2UlBS8vLzKfKSkpNg7xGvSFY2Ynjp1Kt988w0NGzbk4YcfplGjRgDs3buXt99+m8LCQp566imrBCpiLYW+tQCo4ed+Rec5n0gkP7Qpa/cd54me1ohMREREREREREREREREbK1GjRps3779kvvlyl1RYTo0NJR169YxduxYpkyZYp7b3WQy0bNnT95+++1rftFtub4YhkGBX3FhOty3fOtLl3DKTAZg99FTnD6fj49b+aYBFxERERERERERERERkarLycmpzKWNpeKuqDANxYuEL126lJMnT5KYmIhhGDRo0AB/f39rxCdiVYdOnMVw8cLRZCLE2/WKznXIO0NkkCcHj+ew6WAm3aJ1U4aIiIiIiIiIiIiIiIhIaa64MF3C39+fdu3aVWYsIja35dBJAEJ8XHFyvKIl1wFoXy+Ag8dz+O3ACRWmRURERERERERERERERMpw5ZU4kWpk++Es4Mqn8S7Rvl4gAOsPnKiskERERERERERERERERESqHRWm5boWn3oagOArnMa7RElhevfR05w6l19pcYmIiIiIiIiIiIiIiIhUJypMy3WrqMhgb0lh2qtihelQHzfqBXliGLDpYGZlhiciIiIiIiIiIiIiIiJSbagwLdetlMyz5OQVQmEB/h4uFW7nRk3nLSK2UHAe/tgMCUsh6WduqmUCw7B3VCIiIiIiIiIiIiJWtWbNGkwmE1lZWfYO5YqZTCYWLVpkl76HDx9Ov379zK8Nw+DBBx8kICAAk8nE9u3bbR6Tk817FKki9vw5WtoxJx0Hh+gKt9OhfiCfb0zhNxWmRcRaMg/Anu+h4Jx50xcDnGHnFxDdB1w87RiciIiIiIiIiIiIVCUj77+fUxkZ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",
            "text/plain": [
              "<Figure size 1966.25x300 with 6 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "# Second chart: Histogram of the product of reaction time (rt) and response\n",
        "data['joint distribution'] = data['rt'] * (2 * data['response'].astype(int) - 1)\n",
        "# Use Seaborn's FacetGrid to create a multi-panel histogram\n",
        "g = sns.FacetGrid(data, col=\"condition\", hue=\"condition\")\n",
        "g.map(sns.histplot, \"joint distribution\", kde=True, bins=30)\n",
        "g.add_legend()\n",
        "plt.show()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Basic model\n",
        "\n",
        "To establish a baseline for comparison, we first constructed a basic model incorporating four fundamental parameters, devoid of any condition-specific influences. \n",
        "\n",
        "The mathematical expression of this model is as follows:\n",
        "\n",
        "$$\n",
        "\\begin{align*}\n",
        "rt,choice=1&\\sim \\text{WFPT}(v,a,t,z) \\\\\n",
        "rt,choice=0&\\sim \\text{WFPT}(-v,a,t,1-z) \\\\\n",
        "\\end{align*}\n",
        "$$"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 24,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "No model attribute --> setting up standard HDDM\n",
            "Set model to ddm\n",
            "hddm sampling elpased time:  18.57 s\n",
            "Start converting to InferenceData...\n"
          ]
        }
      ],
      "source": [
        "m0 = hddm.HDDM(data, include=['v', 'a', 't', 'z'])\n",
        "m0_infdata = m0.sample(2000,\n",
        "                       burn=1000,\n",
        "                       chains=4,\n",
        "                       return_infdata=True,\n",
        "                       save_name=\"m0\")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Accuracy Coding model\n",
        "\n",
        "In the second model, we introduce a condition-specific parameter, denoted as `stimulus`. We refer to this model as the accuracy coding model since its response variable is accuracy in relation to the choice or stimulus, as will be further elaborated in subsequent models.\n",
        "\n",
        "Establishing this model is significant as it allows us to conduct parameter recovery analyses. By comparing the fit parameters with the true parameters, we can assess the model’s ability to accurately estimate the underlying decision-making processes. This evaluation is crucial for validating the model’s fidelity and its applicability in various experimental contexts."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 9,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "No model attribute --> setting up standard HDDM\n",
            "Set model to ddm\n",
            "hddm sampling elpased time:  31.884 s\n",
            "Start converting to InferenceData...\n"
          ]
        }
      ],
      "source": [
        "m1_acc = hddm.HDDM(data,\n",
        "                   depends_on={\n",
        "                       'a': 'condition',\n",
        "                       'v': 'condition',\n",
        "                       't': 'condition',\n",
        "                       'z': 'condition'\n",
        "                   },\n",
        "                   include=['v', 'a', 't', 'z'])\n",
        "m1_acc_infdata = m1_acc.sample(2000,\n",
        "                               burn=1000,\n",
        "                               chains=4,\n",
        "                               return_infdata=True,\n",
        "                               save_name=\"m1_acc\")"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 10,
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>mean</th>\n",
              "      <th>sd</th>\n",
              "      <th>hdi_3%</th>\n",
              "      <th>hdi_97%</th>\n",
              "      <th>mcse_mean</th>\n",
              "      <th>mcse_sd</th>\n",
              "      <th>ess_bulk</th>\n",
              "      <th>ess_tail</th>\n",
              "      <th>r_hat</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>a(match_friend)</th>\n",
              "      <td>1.708</td>\n",
              "      <td>0.077</td>\n",
              "      <td>1.569</td>\n",
              "      <td>1.862</td>\n",
              "      <td>0.002</td>\n",
              "      <td>0.002</td>\n",
              "      <td>1308.0</td>\n",
              "      <td>1761.0</td>\n",
              "      <td>1.01</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>a(match_other)</th>\n",
              "      <td>1.479</td>\n",
              "      <td>0.061</td>\n",
              "      <td>1.374</td>\n",
              "      <td>1.597</td>\n",
              "      <td>0.002</td>\n",
              "      <td>0.001</td>\n",
              "      <td>1485.0</td>\n",
              "      <td>1990.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>a(match_self)</th>\n",
              "      <td>1.413</td>\n",
              "      <td>0.067</td>\n",
              "      <td>1.301</td>\n",
              "      <td>1.548</td>\n",
              "      <td>0.002</td>\n",
              "      <td>0.001</td>\n",
              "      <td>1486.0</td>\n",
              "      <td>1865.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>a(mismatch_friend)</th>\n",
              "      <td>1.510</td>\n",
              "      <td>0.063</td>\n",
              "      <td>1.398</td>\n",
              "      <td>1.633</td>\n",
              "      <td>0.002</td>\n",
              "      <td>0.001</td>\n",
              "      <td>1457.0</td>\n",
              "      <td>2056.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>a(mismatch_other)</th>\n",
              "      <td>1.470</td>\n",
              "      <td>0.059</td>\n",
              "      <td>1.367</td>\n",
              "      <td>1.587</td>\n",
              "      <td>0.001</td>\n",
              "      <td>0.001</td>\n",
              "      <td>1706.0</td>\n",
              "      <td>2177.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>a(mismatch_self)</th>\n",
              "      <td>1.481</td>\n",
              "      <td>0.055</td>\n",
              "      <td>1.379</td>\n",
              "      <td>1.585</td>\n",
              "      <td>0.001</td>\n",
              "      <td>0.001</td>\n",
              "      <td>1850.0</td>\n",
              "      <td>2165.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>v(match_friend)</th>\n",
              "      <td>1.252</td>\n",
              "      <td>0.134</td>\n",
              "      <td>1.012</td>\n",
              "      <td>1.506</td>\n",
              "      <td>0.004</td>\n",
              "      <td>0.003</td>\n",
              "      <td>1270.0</td>\n",
              "      <td>2210.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>v(match_other)</th>\n",
              "      <td>0.984</td>\n",
              "      <td>0.139</td>\n",
              "      <td>0.715</td>\n",
              "      <td>1.236</td>\n",
              "      <td>0.004</td>\n",
              "      <td>0.003</td>\n",
              "      <td>1421.0</td>\n",
              "      <td>1895.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>v(match_self)</th>\n",
              "      <td>1.255</td>\n",
              "      <td>0.177</td>\n",
              "      <td>0.936</td>\n",
              "      <td>1.597</td>\n",
              "      <td>0.006</td>\n",
              "      <td>0.004</td>\n",
              "      <td>873.0</td>\n",
              "      <td>1695.0</td>\n",
              "      <td>1.01</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>v(mismatch_friend)</th>\n",
              "      <td>1.227</td>\n",
              "      <td>0.144</td>\n",
              "      <td>0.951</td>\n",
              "      <td>1.488</td>\n",
              "      <td>0.004</td>\n",
              "      <td>0.003</td>\n",
              "      <td>1612.0</td>\n",
              "      <td>2422.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>v(mismatch_other)</th>\n",
              "      <td>0.941</td>\n",
              "      <td>0.136</td>\n",
              "      <td>0.687</td>\n",
              "      <td>1.188</td>\n",
              "      <td>0.003</td>\n",
              "      <td>0.002</td>\n",
              "      <td>1625.0</td>\n",
              "      <td>2277.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>v(mismatch_self)</th>\n",
              "      <td>1.164</td>\n",
              "      <td>0.138</td>\n",
              "      <td>0.913</td>\n",
              "      <td>1.441</td>\n",
              "      <td>0.003</td>\n",
              "      <td>0.002</td>\n",
              "      <td>1751.0</td>\n",
              "      <td>2322.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>t(match_friend)</th>\n",
              "      <td>0.376</td>\n",
              "      <td>0.016</td>\n",
              "      <td>0.345</td>\n",
              "      <td>0.403</td>\n",
              "      <td>0.001</td>\n",
              "      <td>0.000</td>\n",
              "      <td>1002.0</td>\n",
              "      <td>1417.0</td>\n",
              "      <td>1.01</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>t(match_other)</th>\n",
              "      <td>0.406</td>\n",
              "      <td>0.012</td>\n",
              "      <td>0.384</td>\n",
              "      <td>0.428</td>\n",
              "      <td>0.000</td>\n",
              "      <td>0.000</td>\n",
              "      <td>1136.0</td>\n",
              "      <td>1458.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>t(match_self)</th>\n",
              "      <td>0.418</td>\n",
              "      <td>0.009</td>\n",
              "      <td>0.401</td>\n",
              "      <td>0.434</td>\n",
              "      <td>0.000</td>\n",
              "      <td>0.000</td>\n",
              "      <td>689.0</td>\n",
              "      <td>853.0</td>\n",
              "      <td>1.01</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>t(mismatch_friend)</th>\n",
              "      <td>0.393</td>\n",
              "      <td>0.012</td>\n",
              "      <td>0.371</td>\n",
              "      <td>0.415</td>\n",
              "      <td>0.000</td>\n",
              "      <td>0.000</td>\n",
              "      <td>1289.0</td>\n",
              "      <td>1719.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>t(mismatch_other)</th>\n",
              "      <td>0.405</td>\n",
              "      <td>0.011</td>\n",
              "      <td>0.384</td>\n",
              "      <td>0.425</td>\n",
              "      <td>0.000</td>\n",
              "      <td>0.000</td>\n",
              "      <td>1411.0</td>\n",
              "      <td>1981.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>t(mismatch_self)</th>\n",
              "      <td>0.409</td>\n",
              "      <td>0.010</td>\n",
              "      <td>0.390</td>\n",
              "      <td>0.425</td>\n",
              "      <td>0.000</td>\n",
              "      <td>0.000</td>\n",
              "      <td>1805.0</td>\n",
              "      <td>2205.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>z(match_friend)</th>\n",
              "      <td>0.485</td>\n",
              "      <td>0.029</td>\n",
              "      <td>0.431</td>\n",
              "      <td>0.539</td>\n",
              "      <td>0.001</td>\n",
              "      <td>0.001</td>\n",
              "      <td>1079.0</td>\n",
              "      <td>1944.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>z(match_other)</th>\n",
              "      <td>0.512</td>\n",
              "      <td>0.029</td>\n",
              "      <td>0.459</td>\n",
              "      <td>0.567</td>\n",
              "      <td>0.001</td>\n",
              "      <td>0.001</td>\n",
              "      <td>1225.0</td>\n",
              "      <td>1818.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>z(match_self)</th>\n",
              "      <td>0.611</td>\n",
              "      <td>0.033</td>\n",
              "      <td>0.547</td>\n",
              "      <td>0.669</td>\n",
              "      <td>0.001</td>\n",
              "      <td>0.001</td>\n",
              "      <td>627.0</td>\n",
              "      <td>1290.0</td>\n",
              "      <td>1.01</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>z(mismatch_friend)</th>\n",
              "      <td>0.455</td>\n",
              "      <td>0.027</td>\n",
              "      <td>0.405</td>\n",
              "      <td>0.505</td>\n",
              "      <td>0.001</td>\n",
              "      <td>0.000</td>\n",
              "      <td>1516.0</td>\n",
              "      <td>2119.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>z(mismatch_other)</th>\n",
              "      <td>0.511</td>\n",
              "      <td>0.026</td>\n",
              "      <td>0.460</td>\n",
              "      <td>0.557</td>\n",
              "      <td>0.001</td>\n",
              "      <td>0.001</td>\n",
              "      <td>1358.0</td>\n",
              "      <td>2136.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>z(mismatch_self)</th>\n",
              "      <td>0.380</td>\n",
              "      <td>0.023</td>\n",
              "      <td>0.337</td>\n",
              "      <td>0.425</td>\n",
              "      <td>0.001</td>\n",
              "      <td>0.000</td>\n",
              "      <td>1957.0</td>\n",
              "      <td>2377.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "                     mean     sd  hdi_3%  hdi_97%  mcse_mean  mcse_sd   \n",
              "a(match_friend)     1.708  0.077   1.569    1.862      0.002    0.002  \\\n",
              "a(match_other)      1.479  0.061   1.374    1.597      0.002    0.001   \n",
              "a(match_self)       1.413  0.067   1.301    1.548      0.002    0.001   \n",
              "a(mismatch_friend)  1.510  0.063   1.398    1.633      0.002    0.001   \n",
              "a(mismatch_other)   1.470  0.059   1.367    1.587      0.001    0.001   \n",
              "a(mismatch_self)    1.481  0.055   1.379    1.585      0.001    0.001   \n",
              "v(match_friend)     1.252  0.134   1.012    1.506      0.004    0.003   \n",
              "v(match_other)      0.984  0.139   0.715    1.236      0.004    0.003   \n",
              "v(match_self)       1.255  0.177   0.936    1.597      0.006    0.004   \n",
              "v(mismatch_friend)  1.227  0.144   0.951    1.488      0.004    0.003   \n",
              "v(mismatch_other)   0.941  0.136   0.687    1.188      0.003    0.002   \n",
              "v(mismatch_self)    1.164  0.138   0.913    1.441      0.003    0.002   \n",
              "t(match_friend)     0.376  0.016   0.345    0.403      0.001    0.000   \n",
              "t(match_other)      0.406  0.012   0.384    0.428      0.000    0.000   \n",
              "t(match_self)       0.418  0.009   0.401    0.434      0.000    0.000   \n",
              "t(mismatch_friend)  0.393  0.012   0.371    0.415      0.000    0.000   \n",
              "t(mismatch_other)   0.405  0.011   0.384    0.425      0.000    0.000   \n",
              "t(mismatch_self)    0.409  0.010   0.390    0.425      0.000    0.000   \n",
              "z(match_friend)     0.485  0.029   0.431    0.539      0.001    0.001   \n",
              "z(match_other)      0.512  0.029   0.459    0.567      0.001    0.001   \n",
              "z(match_self)       0.611  0.033   0.547    0.669      0.001    0.001   \n",
              "z(mismatch_friend)  0.455  0.027   0.405    0.505      0.001    0.000   \n",
              "z(mismatch_other)   0.511  0.026   0.460    0.557      0.001    0.001   \n",
              "z(mismatch_self)    0.380  0.023   0.337    0.425      0.001    0.000   \n",
              "\n",
              "                    ess_bulk  ess_tail  r_hat  \n",
              "a(match_friend)       1308.0    1761.0   1.01  \n",
              "a(match_other)        1485.0    1990.0   1.00  \n",
              "a(match_self)         1486.0    1865.0   1.00  \n",
              "a(mismatch_friend)    1457.0    2056.0   1.00  \n",
              "a(mismatch_other)     1706.0    2177.0   1.00  \n",
              "a(mismatch_self)      1850.0    2165.0   1.00  \n",
              "v(match_friend)       1270.0    2210.0   1.00  \n",
              "v(match_other)        1421.0    1895.0   1.00  \n",
              "v(match_self)          873.0    1695.0   1.01  \n",
              "v(mismatch_friend)    1612.0    2422.0   1.00  \n",
              "v(mismatch_other)     1625.0    2277.0   1.00  \n",
              "v(mismatch_self)      1751.0    2322.0   1.00  \n",
              "t(match_friend)       1002.0    1417.0   1.01  \n",
              "t(match_other)        1136.0    1458.0   1.00  \n",
              "t(match_self)          689.0     853.0   1.01  \n",
              "t(mismatch_friend)    1289.0    1719.0   1.00  \n",
              "t(mismatch_other)     1411.0    1981.0   1.00  \n",
              "t(mismatch_self)      1805.0    2205.0   1.00  \n",
              "z(match_friend)       1079.0    1944.0   1.00  \n",
              "z(match_other)        1225.0    1818.0   1.00  \n",
              "z(match_self)          627.0    1290.0   1.01  \n",
              "z(mismatch_friend)    1516.0    2119.0   1.00  \n",
              "z(mismatch_other)     1358.0    2136.0   1.00  \n",
              "z(mismatch_self)      1957.0    2377.0   1.00  "
            ]
          },
          "execution_count": 10,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "az.summary(m1_acc_infdata)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Start point z and Stim Coding Type1\n",
        "\n",
        "\n",
        "In our simulated data, since the values of all parameters except the z are the same for both conditions. \n",
        "\n",
        "Therefore. We can simplify the two previous models, `m1_acc` and `m1_choice`, i.e., consider only the parameter z changing with the stimulus, while keeping the other parameters constant, corresponding to `m2_acc` and `m2_choice`.\n",
        "\n",
        "> In practical modelling, we also recommend that you build a full model (with all parameters and experimental manipulations) first, and then merge those unnecessary parameters and experimental manipulations to simplify the model."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "`m2_acc` is very close to the previous results of `m1_acc` and will not be repeated here."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 11,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "No model attribute --> setting up standard HDDM\n",
            "Set model to ddm\n",
            "hddm sampling elpased time:  29.417 s\n",
            "Start converting to InferenceData...\n"
          ]
        }
      ],
      "source": [
        "# using accuracy coding\n",
        "m2 = hddm.HDDM(data, depends_on={'z': 'condition'}, include=['v', 'a', 't', 'z'])\n",
        "m2_infdata = m2.sample(2000,\n",
        "                       burn=1000,\n",
        "                       chains=4,\n",
        "                       return_infdata=True,\n",
        "                       save_name=\"m2_z_condition\")"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 12,
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>mean</th>\n",
              "      <th>sd</th>\n",
              "      <th>hdi_3%</th>\n",
              "      <th>hdi_97%</th>\n",
              "      <th>mcse_mean</th>\n",
              "      <th>mcse_sd</th>\n",
              "      <th>ess_bulk</th>\n",
              "      <th>ess_tail</th>\n",
              "      <th>r_hat</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>a</th>\n",
              "      <td>1.498</td>\n",
              "      <td>0.024</td>\n",
              "      <td>1.455</td>\n",
              "      <td>1.546</td>\n",
              "      <td>0.001</td>\n",
              "      <td>0.000</td>\n",
              "      <td>1544.0</td>\n",
              "      <td>2231.0</td>\n",
              "      <td>1.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>v</th>\n",
              "      <td>1.121</td>\n",
              "      <td>0.058</td>\n",
              "      <td>1.006</td>\n",
              "      <td>1.226</td>\n",
              "      <td>0.002</td>\n",
              "      <td>0.001</td>\n",
              "      <td>1489.0</td>\n",
              "      <td>1966.0</td>\n",
              "      <td>1.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>t</th>\n",
              "      <td>0.404</td>\n",
              "      <td>0.004</td>\n",
              "      <td>0.396</td>\n",
              "      <td>0.412</td>\n",
              "      <td>0.000</td>\n",
              "      <td>0.000</td>\n",
              "      <td>1343.0</td>\n",
              "      <td>2025.0</td>\n",
              "      <td>1.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>z(match_friend)</th>\n",
              "      <td>0.498</td>\n",
              "      <td>0.022</td>\n",
              "      <td>0.455</td>\n",
              "      <td>0.539</td>\n",
              "      <td>0.000</td>\n",
              "      <td>0.000</td>\n",
              "      <td>2735.0</td>\n",
              "      <td>2513.0</td>\n",
              "      <td>1.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>z(match_other)</th>\n",
              "      <td>0.498</td>\n",
              "      <td>0.021</td>\n",
              "      <td>0.460</td>\n",
              "      <td>0.538</td>\n",
              "      <td>0.000</td>\n",
              "      <td>0.000</td>\n",
              "      <td>2752.0</td>\n",
              "      <td>2857.0</td>\n",
              "      <td>1.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>z(match_self)</th>\n",
              "      <td>0.611</td>\n",
              "      <td>0.019</td>\n",
              "      <td>0.573</td>\n",
              "      <td>0.643</td>\n",
              "      <td>0.000</td>\n",
              "      <td>0.000</td>\n",
              "      <td>2141.0</td>\n",
              "      <td>2513.0</td>\n",
              "      <td>1.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>z(mismatch_friend)</th>\n",
              "      <td>0.476</td>\n",
              "      <td>0.021</td>\n",
              "      <td>0.437</td>\n",
              "      <td>0.515</td>\n",
              "      <td>0.000</td>\n",
              "      <td>0.000</td>\n",
              "      <td>2917.0</td>\n",
              "      <td>2466.0</td>\n",
              "      <td>1.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>z(mismatch_other)</th>\n",
              "      <td>0.496</td>\n",
              "      <td>0.021</td>\n",
              "      <td>0.456</td>\n",
              "      <td>0.534</td>\n",
              "      <td>0.000</td>\n",
              "      <td>0.000</td>\n",
              "      <td>2497.0</td>\n",
              "      <td>2381.0</td>\n",
              "      <td>1.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>z(mismatch_self)</th>\n",
              "      <td>0.385</td>\n",
              "      <td>0.020</td>\n",
              "      <td>0.348</td>\n",
              "      <td>0.422</td>\n",
              "      <td>0.000</td>\n",
              "      <td>0.000</td>\n",
              "      <td>2782.0</td>\n",
              "      <td>2683.0</td>\n",
              "      <td>1.0</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "                     mean     sd  hdi_3%  hdi_97%  mcse_mean  mcse_sd   \n",
              "a                   1.498  0.024   1.455    1.546      0.001    0.000  \\\n",
              "v                   1.121  0.058   1.006    1.226      0.002    0.001   \n",
              "t                   0.404  0.004   0.396    0.412      0.000    0.000   \n",
              "z(match_friend)     0.498  0.022   0.455    0.539      0.000    0.000   \n",
              "z(match_other)      0.498  0.021   0.460    0.538      0.000    0.000   \n",
              "z(match_self)       0.611  0.019   0.573    0.643      0.000    0.000   \n",
              "z(mismatch_friend)  0.476  0.021   0.437    0.515      0.000    0.000   \n",
              "z(mismatch_other)   0.496  0.021   0.456    0.534      0.000    0.000   \n",
              "z(mismatch_self)    0.385  0.020   0.348    0.422      0.000    0.000   \n",
              "\n",
              "                    ess_bulk  ess_tail  r_hat  \n",
              "a                     1544.0    2231.0    1.0  \n",
              "v                     1489.0    1966.0    1.0  \n",
              "t                     1343.0    2025.0    1.0  \n",
              "z(match_friend)       2735.0    2513.0    1.0  \n",
              "z(match_other)        2752.0    2857.0    1.0  \n",
              "z(match_self)         2141.0    2513.0    1.0  \n",
              "z(mismatch_friend)    2917.0    2466.0    1.0  \n",
              "z(mismatch_other)     2497.0    2381.0    1.0  \n",
              "z(mismatch_self)      2782.0    2683.0    1.0  "
            ]
          },
          "execution_count": 12,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "az.summary(m2_infdata)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "### Stim Coding in HDDMRegressor\n",
        "\n",
        "In HDDM, an alternative approach to implementing stim coding is through the use of HDDMRegressor. Unlike HDDMStimCoding, HDDMRegressor allows users to apply stim coding to any parameter within a regression model, offering greater flexibility in model specification. However, this also requires users to have a deeper understanding of the model and its coding intricacies.\n",
        "- We define our regression model `reg` as a dictionary that specifies the relationship between the starting point parameter z and the stimulus. \n",
        "- The model is defined as “z ~ 1”, indicating that the starting point is a function of the intercept, and the link_func is set to `z_link_func`, which is a custom function we’ve created to implement the stim coding."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 16,
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/plain": [
              "(array([0, 0, 0, ..., 1, 1, 1], dtype=int64),\n",
              " Index(['match', 'mismatch'], dtype='object'))"
            ]
          },
          "execution_count": 16,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "data"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 21,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "No model attribute --> setting up standard HDDM\n",
            "Set model to ddm\n",
            "hddm sampling elpased time:  102.566 s\n",
            "Start converting to InferenceData...\n"
          ]
        }
      ],
      "source": [
        "def z_link_func(x, data=data, sim=\"matchness\"):\n",
        "  # 1 is mismatch; 0 is match\n",
        "  stim = pd.factorize(data[sim].loc[x.index])[0]\n",
        "  z_flip = (stim * (1 - x)) + x * (1 - stim)\n",
        "\n",
        "  return z_flip\n",
        "\n",
        "\n",
        "reg = [{\n",
        "    \"model\": \"v ~ 1 + C(label)\",\n",
        "    \"link_func\": lambda x: x\n",
        "}, {\n",
        "    \"model\": \"z ~ 1 + C(label)\",\n",
        "    \"link_func\": z_link_func\n",
        "}]\n",
        "\n",
        "m3_stim = hddm.HDDMRegressor(\n",
        "    data,\n",
        "    reg,\n",
        "    include=['v', 'a', 't', 'z'],\n",
        ")\n",
        "m3_stim_infdata = m3_stim.sample(2000,\n",
        "                                 burn=1000,\n",
        "                                 chains=4,\n",
        "                                 return_infdata=True,\n",
        "                                 save_name=\"m3_stim\")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "Since we can customise the upper bound to be \"left\" in the link function, the resulting `z_intercept` represents the decision bias for \"left\". The other results are the same as in the previous model."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 22,
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>mean</th>\n",
              "      <th>sd</th>\n",
              "      <th>hdi_3%</th>\n",
              "      <th>hdi_97%</th>\n",
              "      <th>mcse_mean</th>\n",
              "      <th>mcse_sd</th>\n",
              "      <th>ess_bulk</th>\n",
              "      <th>ess_tail</th>\n",
              "      <th>r_hat</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>a</th>\n",
              "      <td>1.498</td>\n",
              "      <td>0.025</td>\n",
              "      <td>1.452</td>\n",
              "      <td>1.545</td>\n",
              "      <td>0.001</td>\n",
              "      <td>0.000</td>\n",
              "      <td>1602.0</td>\n",
              "      <td>2560.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>t</th>\n",
              "      <td>0.406</td>\n",
              "      <td>0.004</td>\n",
              "      <td>0.398</td>\n",
              "      <td>0.413</td>\n",
              "      <td>0.000</td>\n",
              "      <td>0.000</td>\n",
              "      <td>1538.0</td>\n",
              "      <td>2156.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>v_Intercept</th>\n",
              "      <td>1.110</td>\n",
              "      <td>0.079</td>\n",
              "      <td>0.966</td>\n",
              "      <td>1.258</td>\n",
              "      <td>0.003</td>\n",
              "      <td>0.002</td>\n",
              "      <td>879.0</td>\n",
              "      <td>1312.0</td>\n",
              "      <td>1.01</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>v_C(label)[T.other]</th>\n",
              "      <td>-0.097</td>\n",
              "      <td>0.110</td>\n",
              "      <td>-0.313</td>\n",
              "      <td>0.098</td>\n",
              "      <td>0.003</td>\n",
              "      <td>0.002</td>\n",
              "      <td>1083.0</td>\n",
              "      <td>1707.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>v_C(label)[T.self]</th>\n",
              "      <td>0.085</td>\n",
              "      <td>0.112</td>\n",
              "      <td>-0.132</td>\n",
              "      <td>0.285</td>\n",
              "      <td>0.003</td>\n",
              "      <td>0.002</td>\n",
              "      <td>1110.0</td>\n",
              "      <td>1770.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>z_Intercept</th>\n",
              "      <td>0.512</td>\n",
              "      <td>0.014</td>\n",
              "      <td>0.485</td>\n",
              "      <td>0.538</td>\n",
              "      <td>0.001</td>\n",
              "      <td>0.000</td>\n",
              "      <td>743.0</td>\n",
              "      <td>1282.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>z_C(label)[T.other]</th>\n",
              "      <td>-0.010</td>\n",
              "      <td>0.020</td>\n",
              "      <td>-0.048</td>\n",
              "      <td>0.026</td>\n",
              "      <td>0.001</td>\n",
              "      <td>0.000</td>\n",
              "      <td>905.0</td>\n",
              "      <td>1368.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>z_C(label)[T.self]</th>\n",
              "      <td>0.105</td>\n",
              "      <td>0.019</td>\n",
              "      <td>0.068</td>\n",
              "      <td>0.140</td>\n",
              "      <td>0.001</td>\n",
              "      <td>0.000</td>\n",
              "      <td>924.0</td>\n",
              "      <td>1698.0</td>\n",
              "      <td>1.00</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "                      mean     sd  hdi_3%  hdi_97%  mcse_mean  mcse_sd   \n",
              "a                    1.498  0.025   1.452    1.545      0.001    0.000  \\\n",
              "t                    0.406  0.004   0.398    0.413      0.000    0.000   \n",
              "v_Intercept          1.110  0.079   0.966    1.258      0.003    0.002   \n",
              "v_C(label)[T.other] -0.097  0.110  -0.313    0.098      0.003    0.002   \n",
              "v_C(label)[T.self]   0.085  0.112  -0.132    0.285      0.003    0.002   \n",
              "z_Intercept          0.512  0.014   0.485    0.538      0.001    0.000   \n",
              "z_C(label)[T.other] -0.010  0.020  -0.048    0.026      0.001    0.000   \n",
              "z_C(label)[T.self]   0.105  0.019   0.068    0.140      0.001    0.000   \n",
              "\n",
              "                     ess_bulk  ess_tail  r_hat  \n",
              "a                      1602.0    2560.0   1.00  \n",
              "t                      1538.0    2156.0   1.00  \n",
              "v_Intercept             879.0    1312.0   1.01  \n",
              "v_C(label)[T.other]    1083.0    1707.0   1.00  \n",
              "v_C(label)[T.self]     1110.0    1770.0   1.00  \n",
              "z_Intercept             743.0    1282.0   1.00  \n",
              "z_C(label)[T.other]     905.0    1368.0   1.00  \n",
              "z_C(label)[T.self]      924.0    1698.0   1.00  "
            ]
          },
          "execution_count": 22,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "az.summary(m3_stim_infdata)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "From the results of the model comparison, it is clear that\n",
        "- `m3_stim` is the optimal model with the lowest dic, which indicates that it fits the data best.\n",
        "- It should be emphasised that `m3_stim` has only four parameters, whereas other models like `m2_acc` has eight parameters. "
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 25,
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>model</th>\n",
              "      <th>DIC</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>m0</th>\n",
              "      <td>m0</td>\n",
              "      <td>1457.438566</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>m1_acc</th>\n",
              "      <td>m1_acc</td>\n",
              "      <td>1402.346600</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>m2</th>\n",
              "      <td>m2</td>\n",
              "      <td>1393.923950</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>m3_stim</th>\n",
              "      <td>m3_stim</td>\n",
              "      <td>1389.595757</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "           model          DIC\n",
              "m0            m0  1457.438566\n",
              "m1_acc    m1_acc  1402.346600\n",
              "m2            m2  1393.923950\n",
              "m3_stim  m3_stim  1389.595757"
            ]
          },
          "execution_count": 25,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "DIC_dict = {\n",
        "    \"m0\": m0.dic,\n",
        "    \"m1_acc\": m1_acc.dic,\n",
        "    \"m2\": m2.dic,\n",
        "    \"m3_stim\": m3_stim.dic,\n",
        "}\n",
        "\n",
        "DIC_table = pd.DataFrame.from_dict(DIC_dict, orient=\"index\", columns=[\"DIC\"])\n",
        "DIC_table[\"model\"] = DIC_table.index\n",
        "DIC_table = DIC_table[[\"model\", \"DIC\"]]\n",
        "DIC_table.sort_values(by=[\"DIC\"], ascending=False)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "# real data"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 27,
      "metadata": {},
      "outputs": [],
      "source": [
        "from pathlib import Path\n",
        "\n",
        "\n",
        "def run_hddm(data,\n",
        "             n_samples,\n",
        "             n_burns=0,\n",
        "             n_chains=4,\n",
        "             depends_on=\"\",\n",
        "             reg=\"\",\n",
        "             save_name=\"\",\n",
        "             return_infdata=True,\n",
        "             return_hddm=False):\n",
        "  save_name = Path(save_name)\n",
        "  infdata_path = save_name.with_suffix(\".nc\")\n",
        "  hddm_path = save_name.with_suffix(\".hddm\")\n",
        "  m_hddm = None\n",
        "  infdata = None\n",
        "  if (infdata_path.exists()):\n",
        "    infdata = az.from_netcdf(infdata_path)\n",
        "  else:\n",
        "    if (hddm_path.exists()):\n",
        "      m_hddm = hddm.load(hddm_path)\n",
        "      infdata = az.from_netcdf(m_hddm.to_infdata())\n",
        "  if return_hddm:\n",
        "    if m_hddm:\n",
        "      return infdata, m_hddm\n",
        "    elif hddm_path.exists():\n",
        "      return infdata, hddm.load(hddm_path)\n",
        "  else:\n",
        "    return infdata\n",
        "\n",
        "  if reg != \"\":\n",
        "    m = hddm.HDDMRegressor(data,\n",
        "                           reg,\n",
        "                           include=['a', 'v', 't', 'z'])\n",
        "  elif depends_on != \"\":\n",
        "    m = hddm.HDDM(data, depends_on=depends_on, include=['v', 'a', 't', 'z'])\n",
        "  else:\n",
        "    m = hddm.HDDM(data, include=['a', 'v', 't', 'z'])\n",
        "  infdata = m.sample(\n",
        "      n_samples,\n",
        "      burn=n_burns,\n",
        "      chains=n_chains,\n",
        "      save_name=save_name,\n",
        "      return_infdata=return_infdata,\n",
        "  )\n",
        "  if return_hddm:\n",
        "    return infdata, m\n",
        "  else:\n",
        "    return infdata\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {},
      "outputs": [],
      "source": [
        "n_samples = 2000\n",
        "n_burn = 1000"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## FSE_exp2"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": [
        "data_id = \"FSE_exp2\""
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 35,
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Unnamed: 0</th>\n",
              "      <th>subj_idx</th>\n",
              "      <th>gender</th>\n",
              "      <th>rt</th>\n",
              "      <th>response</th>\n",
              "      <th>age</th>\n",
              "      <th>label</th>\n",
              "      <th>shape</th>\n",
              "      <th>shape_label</th>\n",
              "      <th>matchness</th>\n",
              "      <th>order</th>\n",
              "      <th>choice</th>\n",
              "      <th>first_identity</th>\n",
              "      <th>second_identity</th>\n",
              "      <th>trial_seq</th>\n",
              "      <th>pre_congru</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>male</td>\n",
              "      <td>0.822</td>\n",
              "      <td>1</td>\n",
              "      <td>24</td>\n",
              "      <td>neutral</td>\n",
              "      <td>square</td>\n",
              "      <td>bad</td>\n",
              "      <td>mismatch</td>\n",
              "      <td>shape_first</td>\n",
              "      <td>mismatch</td>\n",
              "      <td>bad</td>\n",
              "      <td>neutral</td>\n",
              "      <td>NaN</td>\n",
              "      <td>NaN</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>2</td>\n",
              "      <td>1</td>\n",
              "      <td>male</td>\n",
              "      <td>0.741</td>\n",
              "      <td>1</td>\n",
              "      <td>24</td>\n",
              "      <td>good</td>\n",
              "      <td>triangle</td>\n",
              "      <td>neutral</td>\n",
              "      <td>mismatch</td>\n",
              "      <td>shape_first</td>\n",
              "      <td>mismatch</td>\n",
              "      <td>neutral</td>\n",
              "      <td>good</td>\n",
              "      <td>ii</td>\n",
              "      <td>mismatch</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>3</td>\n",
              "      <td>1</td>\n",
              "      <td>male</td>\n",
              "      <td>0.781</td>\n",
              "      <td>1</td>\n",
              "      <td>24</td>\n",
              "      <td>neutral</td>\n",
              "      <td>triangle</td>\n",
              "      <td>neutral</td>\n",
              "      <td>match</td>\n",
              "      <td>shape_first</td>\n",
              "      <td>match</td>\n",
              "      <td>neutral</td>\n",
              "      <td>neutral</td>\n",
              "      <td>ci</td>\n",
              "      <td>mismatch</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>4</td>\n",
              "      <td>1</td>\n",
              "      <td>male</td>\n",
              "      <td>0.683</td>\n",
              "      <td>1</td>\n",
              "      <td>24</td>\n",
              "      <td>bad</td>\n",
              "      <td>circle</td>\n",
              "      <td>good</td>\n",
              "      <td>mismatch</td>\n",
              "      <td>shape_first</td>\n",
              "      <td>mismatch</td>\n",
              "      <td>good</td>\n",
              "      <td>bad</td>\n",
              "      <td>ic</td>\n",
              "      <td>match</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>5</td>\n",
              "      <td>1</td>\n",
              "      <td>male</td>\n",
              "      <td>0.599</td>\n",
              "      <td>1</td>\n",
              "      <td>24</td>\n",
              "      <td>neutral</td>\n",
              "      <td>triangle</td>\n",
              "      <td>neutral</td>\n",
              "      <td>match</td>\n",
              "      <td>shape_first</td>\n",
              "      <td>match</td>\n",
              "      <td>neutral</td>\n",
              "      <td>neutral</td>\n",
              "      <td>ci</td>\n",
              "      <td>mismatch</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "   Unnamed: 0  subj_idx gender     rt  response  age    label     shape   \n",
              "0           1         1   male  0.822         1   24  neutral    square  \\\n",
              "1           2         1   male  0.741         1   24     good  triangle   \n",
              "2           3         1   male  0.781         1   24  neutral  triangle   \n",
              "3           4         1   male  0.683         1   24      bad    circle   \n",
              "4           5         1   male  0.599         1   24  neutral  triangle   \n",
              "\n",
              "  shape_label matchness        order    choice first_identity second_identity   \n",
              "0         bad  mismatch  shape_first  mismatch            bad         neutral  \\\n",
              "1     neutral  mismatch  shape_first  mismatch        neutral            good   \n",
              "2     neutral     match  shape_first     match        neutral         neutral   \n",
              "3        good  mismatch  shape_first  mismatch           good             bad   \n",
              "4     neutral     match  shape_first     match        neutral         neutral   \n",
              "\n",
              "  trial_seq pre_congru  \n",
              "0       NaN        NaN  \n",
              "1        ii   mismatch  \n",
              "2        ci   mismatch  \n",
              "3        ic      match  \n",
              "4        ci   mismatch  "
            ]
          },
          "execution_count": 35,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "data = pd.read_csv(f\"{data_id}_hddm.csv\")\n",
        "data.rename(columns={'acc': 'response'}, inplace=True)\n",
        "data.head()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 36,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "CPU times: total: 0 ns\n",
            "Wall time: 0 ns\n",
            "No model attribute --> setting up standard HDDM\n",
            "Set model to ddm\n"
          ]
        }
      ],
      "source": [
        "%time\n",
        "m0, m0_infdata = run_hddm(data,\n",
        "                          n_samples,\n",
        "                          n_burn,\n",
        "                          save_name=f\"{data_id}/m0\")"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": [
        "m1, m1_infdata = run_hddm(data,\n",
        "                          n_samples,\n",
        "                          n_burn,\n",
        "                          depends_on= {\n",
        "                          'a': ['matchness',\"label\"],\n",
        "                          'v': ['matchness',\"label\"],\n",
        "                          't': ['matchness',\"label\"],\n",
        "                          'z': ['matchness',\"label\"]\n",
        "                          },\n",
        "                          save_name=f\"{data_id}/m1_dep_4p_6c\") # 4 paramters and 6 conditions"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": [
        "def z_link_func(x, data=data, sim=\"matchness\"):\n",
        "  # 1 is mismatch; 0 is match\n",
        "  stim = pd.factorize(data[sim].loc[x.index])[0]\n",
        "  z_flip = (stim * (1 - x)) + x * (1 - stim)\n",
        "\n",
        "  return z_flip\n",
        "\n",
        "\n",
        "reg = [{\n",
        "    \"model\": \"v ~ 1 + C(label)\",\n",
        "    \"link_func\": lambda x: x\n",
        "}, {\n",
        "    \"model\": \"z ~ 1 + C(label)\",\n",
        "    \"link_func\": z_link_func\n",
        "}]\n",
        "\n",
        "m2, m2_infdata = run_hddm(data,\n",
        "                          n_samples,\n",
        "                          n_burn,\n",
        "                          reg=reg,\n",
        "                          save_name=f\"{data_id}/m2_stimcode_2p_3c\") "
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": [
        "DIC_dict = {\n",
        "\t\t\"m0: baseline\": m0.dic,\n",
        "    \"m1: depends on\": m1.dic,\n",
        "    \"m2: stim coding\": m2.dic\n",
        "  }\n",
        "\n",
        "DIC_table = pd.DataFrame.from_dict(DIC_dict, orient=\"index\", columns=[\"DIC\"])\n",
        "DIC_table[\"model\"] = DIC_table.index\n",
        "DIC_table = DIC_table[[\"model\", \"DIC\"]]\n",
        "DIC_table.sort_values(by=[\"DIC\"], ascending=False)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Pn4.E1"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 13,
      "metadata": {},
      "outputs": [],
      "source": [
        "data_id = \"Pn4.E1\""
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 17,
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>subj_idx</th>\n",
              "      <th>matchness</th>\n",
              "      <th>Identity</th>\n",
              "      <th>label</th>\n",
              "      <th>Session</th>\n",
              "      <th>RT_ms</th>\n",
              "      <th>rt</th>\n",
              "      <th>response</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>120276743</td>\n",
              "      <td>mismatch</td>\n",
              "      <td>Stranger</td>\n",
              "      <td>Friend</td>\n",
              "      <td>1</td>\n",
              "      <td>699</td>\n",
              "      <td>0.699</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>120276743</td>\n",
              "      <td>mismatch</td>\n",
              "      <td>Stranger</td>\n",
              "      <td>Friend</td>\n",
              "      <td>1</td>\n",
              "      <td>490</td>\n",
              "      <td>0.490</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>120276743</td>\n",
              "      <td>match</td>\n",
              "      <td>Friend</td>\n",
              "      <td>Friend</td>\n",
              "      <td>1</td>\n",
              "      <td>557</td>\n",
              "      <td>0.557</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>120276743</td>\n",
              "      <td>mismatch</td>\n",
              "      <td>Stranger</td>\n",
              "      <td>Self</td>\n",
              "      <td>1</td>\n",
              "      <td>532</td>\n",
              "      <td>0.532</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>120276743</td>\n",
              "      <td>mismatch</td>\n",
              "      <td>Stranger</td>\n",
              "      <td>Friend</td>\n",
              "      <td>1</td>\n",
              "      <td>620</td>\n",
              "      <td>0.620</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "    subj_idx matchness  Identity   label  Session  RT_ms     rt  response\n",
              "0  120276743  mismatch  Stranger  Friend        1    699  0.699         1\n",
              "1  120276743  mismatch  Stranger  Friend        1    490  0.490         1\n",
              "2  120276743     match    Friend  Friend        1    557  0.557         0\n",
              "3  120276743  mismatch  Stranger    Self        1    532  0.532         0\n",
              "4  120276743  mismatch  Stranger  Friend        1    620  0.620         1"
            ]
          },
          "execution_count": 17,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "data = pd.read_csv(f\"{data_id}.csv\")\n",
        "data.rename(columns={\n",
        "    'Subject': 'subj_idx',\n",
        "    'ACC': 'response',\n",
        "    'RT_sec': 'rt',\n",
        "    'Label': 'label',\n",
        "    'Match': 'matchness'\n",
        "},\n",
        "            inplace=True)\n",
        "data.replace({'matchness': {'Nonmatch': 'mismatch', 'Match': 'match'}}, inplace=True)\n",
        "data.head()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": [
        "def hddm_pipline():\n",
        "  m0, m0_infdata = run_hddm(data, n_samples, n_burn, save_name=f\"{data_id}/m0\")\n",
        "  m1, m1_infdata = run_hddm(data,\n",
        "                            n_samples,\n",
        "                            n_burn,\n",
        "                            depends_on={\n",
        "                                'a': ['matchness', \"label\"],\n",
        "                                'v': ['matchness', \"label\"],\n",
        "                                't': ['matchness', \"label\"],\n",
        "                                'z': ['matchness', \"label\"]\n",
        "                            },\n",
        "                            save_name=f\"{data_id}/m1_dep_4p_6c\")\n",
        "\n",
        "  def z_link_func(x, data=data, sim=\"matchness\"):\n",
        "    # 1 is mismatch; 0 is match\n",
        "    stim = pd.factorize(data[sim].loc[x.index])[0]\n",
        "    z_flip = (stim * (1 - x)) + x * (1 - stim)\n",
        "\n",
        "    return z_flip\n",
        "\n",
        "  reg = [{\n",
        "      \"model\": \"v ~ 1 + C(label)\",\n",
        "      \"link_func\": lambda x: x\n",
        "  }, {\n",
        "      \"model\": \"z ~ 1 + C(label)\",\n",
        "      \"link_func\": z_link_func\n",
        "  }]\n",
        "\n",
        "  m2, m2_infdata = run_hddm(data,\n",
        "                            n_samples,\n",
        "                            n_burn,\n",
        "                            reg=reg,\n",
        "                            save_name=f\"{data_id}/m2_stimcode_2p_3c\")\n",
        "  infdatasets = {\"m0\": m0_infdata, \"m1\": m1_infdata, \"m2\": m2_infdata}\n",
        "  DIC_dict = {\n",
        "      \"m0: baseline\": m0.dic,\n",
        "      \"m1: depends on\": m1.dic,\n",
        "      \"m2: stim coding\": m2.dic\n",
        "  }\n",
        "\n",
        "  DIC_table = pd.DataFrame.from_dict(DIC_dict, orient=\"index\", columns=[\"DIC\"])\n",
        "  DIC_table[\"model\"] = DIC_table.index\n",
        "  DIC_table = DIC_table[[\"model\", \"DIC\"]]\n",
        "  DIC_table = DIC_table.sort_values(by=[\"DIC\"], ascending=False)\n",
        "\n",
        "  return infdatasets, DIC_table"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": [
        "infdatasets, DIC_table = hddm_pipline()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 18,
      "metadata": {},
      "outputs": [
        {
          "ename": "NameError",
          "evalue": "name 'DIC_table' is not defined",
          "output_type": "error",
          "traceback": [
            "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
            "\u001b[1;31mNameError\u001b[0m                                 Traceback (most recent call last)",
            "Cell \u001b[1;32mIn[18], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[43mDIC_table\u001b[49m\n",
            "\u001b[1;31mNameError\u001b[0m: name 'DIC_table' is not defined"
          ]
        }
      ],
      "source": [
        "DIC_table"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": [
        "az.summary(infdatasets['m2'])"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## SPE_exp1_hddm"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 9,
      "metadata": {},
      "outputs": [],
      "source": [
        "data_id = \"SPE_exp1_hddm\""
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 11,
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Unnamed: 0</th>\n",
              "      <th>subj_idx</th>\n",
              "      <th>gender</th>\n",
              "      <th>age</th>\n",
              "      <th>rt</th>\n",
              "      <th>acc</th>\n",
              "      <th>label</th>\n",
              "      <th>shape</th>\n",
              "      <th>shape_label</th>\n",
              "      <th>matchness</th>\n",
              "      <th>order</th>\n",
              "      <th>choice</th>\n",
              "      <th>first_identity</th>\n",
              "      <th>second_identity</th>\n",
              "      <th>trial_seq</th>\n",
              "      <th>pre_congru</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>female</td>\n",
              "      <td>22</td>\n",
              "      <td>0.611</td>\n",
              "      <td>1</td>\n",
              "      <td>self</td>\n",
              "      <td>triangle</td>\n",
              "      <td>self</td>\n",
              "      <td>match</td>\n",
              "      <td>label_first</td>\n",
              "      <td>match</td>\n",
              "      <td>self</td>\n",
              "      <td>self</td>\n",
              "      <td>NaN</td>\n",
              "      <td>NaN</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>2</td>\n",
              "      <td>1</td>\n",
              "      <td>female</td>\n",
              "      <td>22</td>\n",
              "      <td>1.298</td>\n",
              "      <td>0</td>\n",
              "      <td>other</td>\n",
              "      <td>square</td>\n",
              "      <td>friend</td>\n",
              "      <td>mismatch</td>\n",
              "      <td>shape_first</td>\n",
              "      <td>match</td>\n",
              "      <td>friend</td>\n",
              "      <td>other</td>\n",
              "      <td>ic</td>\n",
              "      <td>match</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>3</td>\n",
              "      <td>1</td>\n",
              "      <td>female</td>\n",
              "      <td>22</td>\n",
              "      <td>0.610</td>\n",
              "      <td>0</td>\n",
              "      <td>other</td>\n",
              "      <td>circle</td>\n",
              "      <td>other</td>\n",
              "      <td>match</td>\n",
              "      <td>shape_first</td>\n",
              "      <td>mismatch</td>\n",
              "      <td>other</td>\n",
              "      <td>other</td>\n",
              "      <td>ci</td>\n",
              "      <td>mismatch</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>4</td>\n",
              "      <td>1</td>\n",
              "      <td>female</td>\n",
              "      <td>22</td>\n",
              "      <td>0.788</td>\n",
              "      <td>1</td>\n",
              "      <td>friend</td>\n",
              "      <td>triangle</td>\n",
              "      <td>self</td>\n",
              "      <td>mismatch</td>\n",
              "      <td>label_first</td>\n",
              "      <td>mismatch</td>\n",
              "      <td>friend</td>\n",
              "      <td>self</td>\n",
              "      <td>ic</td>\n",
              "      <td>match</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>5</td>\n",
              "      <td>1</td>\n",
              "      <td>female</td>\n",
              "      <td>22</td>\n",
              "      <td>1.315</td>\n",
              "      <td>0</td>\n",
              "      <td>friend</td>\n",
              "      <td>square</td>\n",
              "      <td>friend</td>\n",
              "      <td>match</td>\n",
              "      <td>label_first</td>\n",
              "      <td>mismatch</td>\n",
              "      <td>friend</td>\n",
              "      <td>friend</td>\n",
              "      <td>ci</td>\n",
              "      <td>mismatch</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "   Unnamed: 0  subj_idx  gender  age     rt  acc   label     shape   \n",
              "0           1         1  female   22  0.611    1    self  triangle  \\\n",
              "1           2         1  female   22  1.298    0   other    square   \n",
              "2           3         1  female   22  0.610    0   other    circle   \n",
              "3           4         1  female   22  0.788    1  friend  triangle   \n",
              "4           5         1  female   22  1.315    0  friend    square   \n",
              "\n",
              "  shape_label matchness        order    choice first_identity second_identity   \n",
              "0        self     match  label_first     match           self            self  \\\n",
              "1      friend  mismatch  shape_first     match         friend           other   \n",
              "2       other     match  shape_first  mismatch          other           other   \n",
              "3        self  mismatch  label_first  mismatch         friend            self   \n",
              "4      friend     match  label_first  mismatch         friend          friend   \n",
              "\n",
              "  trial_seq pre_congru  \n",
              "0       NaN        NaN  \n",
              "1        ic      match  \n",
              "2        ci   mismatch  \n",
              "3        ic      match  \n",
              "4        ci   mismatch  "
            ]
          },
          "execution_count": 11,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "data = pd.read_csv(f\"{data_id}.csv\")\n",
        "data.rename(columns={\n",
        "    'acc': 'response',\n",
        "    'RT_sec': 'rt'\n",
        "},\n",
        "            inplace=True)\n",
        "data.head()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": [
        "infdatasets, DIC_table = hddm_pipline()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [
        {
          "ename": "NameError",
          "evalue": "name 'DIC_table' is not defined",
          "output_type": "error",
          "traceback": [
            "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n",
            "\u001b[1;31mNameError\u001b[0m                                 Traceback (most recent call last)\n",
            "Cell \u001b[1;32mIn[18], line 1\u001b[0m\n",
            "\u001b[1;32m----> 1\u001b[0m \u001b[43mDIC_table\u001b[49m\n",
            "\n",
            "\u001b[1;31mNameError\u001b[0m: name 'DIC_table' is not defined"
          ]
        }
      ],
      "source": [
        "DIC_table"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": [
        "az.summary(infdatasets['m2'])"
      ]
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "py39hddm",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.9.18"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 2
}
